SpringBoot相关知识学习

SpringBoot功能有哪些:
1.能够创建独立的Spring应用程序
2.内嵌Tomcat、Jetty或Undertow服务器(无需单独部署WAR包,打包成Jar本身就是一个可以运行的应用程序)。
3.提供一站式的“starter”"依赖项,以简化Maven配置(需要整合什么框架,直接导对应框架的starter依赖)。
4.尽可能自动配置Spring和第三方库(除非特殊情况,否则几乎不需要进行任何配置)
5.提供生产环境下相关功能,如指标、运行状况检查和外部化配置
6.没有任何代码生成,也不需要任何XML配置

在SSM阶段,当我们需要搭建一个基于Spring全家桶的Web应用程序时,我们不得不做大量的依赖导入和框架整合相关的Bean定义,光是整合框架就花费了我们大量的时间,但是实际上我们发现,整合框架其实基本都是一些固定流程,我们每创建一个新的Web应用程序,基本都会使用同样的方式去整合框架,我们完全可以将一些重复的配置作为约定,只要框架遵守这个约定,为我们提供默认的配置就好这样就不用我们再去配置了,约定优于配置!

而SpringBoot正是将这些过程大幅度进行了简化,它可以自动进行配置,我们只需要导入对应的启动器(starter)依赖即可。

常用模块快速整合
前面我们说了,SpringBoot的核心思想就是约定大于配置,能在一开始创建项目的时候默认的就直接默认,不用我们自己来进行配置,我们只需要配置某些特殊的部分即可下。
在一开始的时候,我们没有勾选其他的依赖,因此项目中只导入了最基本的spring-boot-starter 依赖:
<dependency>
<groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency>
所有的SpringBoot依赖都是以starter的形式命名的,之后我们需要导入其他模块也是导入 spring-boot-starter-xxxx 这种名称格式的依赖。
首先我们还是从SpringMvc相关依赖开始。SprngBoot为我们提供了包含内置Tomcat服务器的Web模块,我们只需要导入依赖就能直接运行服务器:
<dependency><qroupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webc/artifactId</dependency>
我们不需要进行任何配置,直接点击启动。

SpringBoot支持自动包扫描,我们不需要编写任何配置,直接在任意路径(但是不能跑到主类所在包外面去了)下创建的组件(如Controller、Service、Component、Configuration等)都可以生效。

如果需要像之前一样添加WebMvc的配置类,方法是一样的,直接创建即可。

我们在SSM阶段编写的大量配置,到现在已经彻底不需要了
同样的,SpringSecurity框架如何进行整合,也是非常简单,我们只需要直接导入即可
<dependency>
<groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId>
</dependency>
只需要添加对应的starter就能做到开箱即用,并且内置一套默认配置,自动帮助我们创建一个测试用户,方便我们快速搭建项目,同样的,如果要进行额外配置,我们只需要直接添加配置类即可:

//依然只需要Configuration注解即可,不需要其他配置
@Configuration
public class SecurityConfiguration {
    //配置方式跟之前SSM阶段是一样的
    @Bean
    public SecurityfilterChain filterchain(HttpSecurity http) throws Exception {
        return http
            .authorizeHttpRequests(auth ->{
                auth.anyRequest().authenticated();
            })
            .formLogin(conf ->{
                conf.loginPage("/login");
                conf.loginProcessingUrl("/doLogin"):
                conf.defaultSuccessUrl("/");
                conf.permitAll();
            })
            .build();
    }
}
  • 29
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值