当前位置:   article > 正文

壹哥专栏丨SpringBoot2,2024年最新1-3年的网络安全开发工程师看过来

壹哥专栏丨SpringBoot2,2024年最新1-3年的网络安全开发工程师看过来

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
img

正文

在这样一个时代背景下,Spring 团队在现有Spring框架的基础上发布了一个新的开发框架—Spring Boot。该框架是由Spring Pivotal 团队提供的全新框架,其设计目的主要是用来简化Java Web项目的初始搭建,配置以及开发过程,为我们的开发带来极大遍历!

2. SpringBoot简介

那么SpringBoot到底是什么呢?我们来看看官网对SpringBoot的介绍吧,如下图所示:

图片

从上面的介绍中可知,Spring Boot可以帮助我们轻松地创建出一个基于Spring,且能够直接运行的独立的生产级应用程序。

而且利用SpringBoot可以很容易的整合Spring和其他第三方库,更重要的是SpringBoot采用了“约定大于配置”的思想理念,大量的减少了配置文件的使用,可以让我们的项目快速的开发部署运行起来。

并且SpringBoot自身就内嵌了Tomcat,Jetty,Undertow等Web服务器,可以让我们灵活的选择到底该生成什么类型的应用程序,常见项目类型如下:

①. jar包程序;

②. war包程序;

另外SpringBoot中还提供了一个可以运行项目的“spring script”的命令行工具,方便我们快速方便的启动项目。

3. Spring Boot要点分析

接下来 壹哥 带各位来看看SpringBoot的主要特点,了解一下SpringBoot到底有哪些特性,看看这些新特性能不能激发出我们学习SpringBoot的欲望吧。

3.1 特点

我们先看一张SpringBoot官网关于其特点的截图,如下:

图片

这些特点我给大家翻译总结如下:

  • SpringBoot可以创建独立的Spring应用程序;
  • SpringBoot中直接内嵌了Tomcat、Jetty或Undertow(无需部署WAR文件)等web服务器;
  • SpringBoot提供了“初始”的POM文件内容,以简化Maven配置;
  • SpringBoot可以尽可能自动地配置Spring;
  • SpringBoot可以提供生产就绪的功能,如指标,健康检查和外部化配置等功能;
  • SpringBoot可以绝对无代码生成,也不需要XML配置。

3.2 优点

根据上述特点,我们就可以提取出SpringBoot的主要优点了,如下图所示:

图片

  • 快速构建项目,缩短开发时间**;**
  • 对主流开发框架的无配置集成;
  • 易于理解和开发Spring应用;
  • 项目可独立运行,无需依赖外部的 Servlet 容器;
  • 提供运行时的应用监控;
  • 极大地提高了开发、部署效率;
  • 与云计算的天然集成。

3.3 缺点

当然,任何一个技术都不可能是十全十美的,SpringBoot也不例外,他虽然是个王者,但也有缺点:

  • 版本迭代速度很快,一些模块改动很大;
  • 由于不用自己做配置,报错时很难定位;
  • 网上现成的解决方案比较少。

我们学习一个技术,肯定要综合考虑,只要这个技术能够做到瑕不掩瑜,那就可以考虑使用。更何况SpringBoot的有点明显大于缺点,所以我们就这么愉快地决定啦,SpringBoot,学起来!

4. 关于”约定大于配置“(重点)

在上面 壹哥 给大家提到了一个思想,即”约定大于配置“,那什么是约定大于配置呢?我们先来看看比较正式的定义:

**约定大于配置(Convention Over Configuration),也称作按约定编程,这是一种软件设计范式。目的在于减少软件开发人员所需要做出的决定数量,从而获得简单灵活的好处,开发人员仅仅需要规定应用中不符合约定的部分。**约定大于配置也被称为习惯优于配置、约定优于配置等。

能不能说人话,上面的根本看不懂啊!那,好吧,壹哥 再通俗的解释一下咯。

**其实所谓的约定大于配置,就是指我们在开发中,有些xml或yml文件中的配置项,如果你没有配置的话,程序就会采用一个默认值。换句话说,只要程序能采用默认值的配置,就不需要我们再手动配置了,而这个默认值就是约定!**就比如:

  • /src/main/java目录用来存放java源文件;
  • src/main/resources目录用来存放资源文件,如application.yml文件,mybatis的*mapper.xml文件;
  • /src/test/java目录用来存放java测试文件;
  • /src/test/resources目录用来存放测试资源文件;
  • /target目录为项目的输出位置。

你可能会问,为啥非得在A目录中存放A文件,而不是存放B文件?我非得在/src/main/java中存放测试类不行吗?

你非要这么干,不是说不能实现这个功能,而是这样就打破了大家约定俗成的一种规则,也就是我们上面说的”约定“!就好比在国内,大家走路都走右边,你非得特立独行走左边,行不行呢?当然也不是说不行对吧,你走马路左边也能从北京走到上海,但是你在别人眼里就是个另类,出了事就是你的责任,因为你没有遵守大家都在遵循的一种”约定“!

对于我们人来说,能够满足大多数人的习惯的约定就是一种好的约定,而在程序中,能够简化代码的实现,使代码高可用的约定就是一种好的约定,所以一个好的约定可以减少很多配置。

SpringBoot中"约定大于配置"的思想,其实就是SpringBoot为我们的开发提供了一套已经配置好的默认值。这样就不需要再像以前那样去手动地编写xml配置文件了,只有默认配置项不能满足我们的需求时,才需要去修改配置,也就是说采用默认的"约定"就足够了,这就是所说的"约定"大于(优先于)我们自己的配置。

二. 环境配置

介绍了这么多SpringBoot的理论知识,接下来我们还是动起手来实操一把,毕竟SpringBoot主要还是实战为主,理论并没有那么多。

在进行开发之前,我们先看看SpringBoot开发之前对我们的开发环境有哪些要求吧。

1. 基本说明

本系列教程采用Spring Boot 2.x.x.RELEASE版本;

采用Java 8版本;

要求使用Spring Framework5.0.4.RELEASE或更高版本;

打包工具是Maven 3.2+ 或 Gradle 4+。

另外Spring Boot本身也内嵌了一些Servlet容器,如下图所示:

图片

以上这些是基本说明,大家注意即可。

2. 安装配置JDK 8.0+

我们可以先查看一下自己的JDK版本,是不是JDK 8以上版本,太低的版本不行哦。

#检查java环境
$ java -version
  • 1
  • 2
  1. 安装配置Maven3.2+
#检查maven环境
$ mvn -v
  • 1
  • 2

我这里采用的是Maven作为打包工具,Maven3.x版本都可以的,可以查看一下自己的版本是否合适。

4. 选装配置Gradle4.0+

当然我们做web开发的时候,虽然一般都是采用Maven环境,但是也可以使用Gradle来进行依赖包的下载管理。如果你的环境是Gradle,那么也可以尝试一下,注意本教程采用Maven环境!

Spring Boot提供了一个有用的Gradle插件,可以用来简化依赖声明和创建可执行的jar,我们可以参考如下Gradle依赖插件配置:

plugins {
 id 'org.springframework.boot' version '2.0.0.RELEASE'
 id 'java'
}

jar {
 baseName = 'firstProject'
 version =  '0.0.1-SNAPSHOT'
}

repositories {
 jcenter()
}

dependencies {
 compile("org.springframework.boot:spring-boot-starter-web")
 testCompile("org.springframework.boot:spring-boot-starter-test")
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

三. SpringBoot项目创建方式

以上就是我们开发SpringBoot项目之前的基本要求说明,接下来 壹哥 就开始带大家创建第一个SpringBoot项目啦,期待ing…

1. SpringBoot项目创建方式

在开始创建第一个项目之前,壹哥 先介绍一下SpringBoot项目的创建方式,我们在Intellij ideal中创建SpringBoot项目的方式可以有如下3种:

  • 通过IDE的Spring Initializr来创建;
  • 手动创建一个Maven工程,然后引入SpringBoot所需的dependency来完成;
  • 通过Spring官网提供的模板来创建Spring boot项目,模板地址:https://start.spring.io/。

以上这3种创建SpringBoot项目的方式,其实哪一种都可以的,当然以后大家选一个自己习惯的方式即可,接下来壹哥先采用第一种方式给大家创建一个SpringBoot项目。

因为本系列教程主要以实战为主,受限于文字格式,所以我会把项目开发过程以图片的形式,一步一步的给大家进行展示,只要你认真的跟着我的教程去做,壹哥 保证你可以学会并精通SpringBoot的用法!接下来就是正式的项目开发步骤咯,仔细看起来!

这里我先以Spring Initializr方式创建我们的第一个SpringBoot项目,以下就是具体创建步骤了。

2. 新建项目

首先我们先按下图所示,创建一个新项目,注意不是module哦!

图片

3. 选择Spring Initializr

然后就会进入到如下界面,我们选择Spring Initializr即可。

图片

4. 设置项目的包名及坐标GAV信息

接着进入到下面的界面,进行GAV坐标设置,至于什么是GAV坐标,请复习之前壹哥给大家讲过的Maven内容。如果确实不会,可以去腾讯课堂,搜索”一一哥“,在那里我有专门的Maven详细教程,特别细哦!

图片

5. 设置启动器及SpringBoot版本

接着我们选择一个SpringBoot版本,这里我采用的是SprintBoot2.2.5版本,大家自由选择即可,但是不建议采用太高版本,尽量与我一致。

图片

大家可以直接把下面的依赖配置粘贴到pom.xml文件中。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
  • 1
  • 2
  • 3
  • 4

**注意:**该方式默认是从spring.io官网上下载源码模板,然后自动导入的ideal中,所以对网速要求较高,有可能下载不成功!

图片

6. 设置项目模块名称及存储位置

一、网安学习成长路线图

网安所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、网安视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

三、精品网安学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。
在这里插入图片描述

四、网络安全源码合集+工具包

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

五、网络安全面试题

最后就是大家最关心的网络安全面试题板块
在这里插入图片描述在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

og.csdnimg.cn/15c1192cad414044b4dd41f3df44433d.png)在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)
[外链图片转存中…(img-eMbbajn1-1713550322088)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/484420
推荐阅读
相关标签
  

闽ICP备14008679号