Spring—Boot

为什SpringBoot?

随着技术的发展,JavaEE使用Spring逐渐变得笨重,大量大XML文件的堆积,繁琐的配置,整合第三方框架的配置问题,导致开发和部署效率的降低。

为什么要学习SpringBoot?

首先从官方图来看的话,SpringBoot的 定位是Bulid Anything,Bulid任何东西。Spring boot 可以尽可能快地启动和运行,并且只需要最少的Spring前期配置。

一条重要的概念:约定大于配置。

 SpringBoot

SpringBoot 是伴随的Spring 4.0诞生的,SpringBoot继承了原有Spring框架的优秀基因。

  1. 简化编码 
    1. 我们在搭建一个web项目的时候,不需要在pom文件中添加多个依赖 ,只需要在pom文件中添加一个starter-web依赖即可
    2. <dependency>
      	<groupId>org.springframework.boot</groupId>
      	<artifactId>spring-boot-starter-web</artifactId>
      </dependency>
  2. 简化配置
    1. 在对应的类上加对应的注解即可
  3. 简化部署
    1. 在spring boot中内嵌了tomcat 只需要把项目打成jar包 ,使用 java -jar xxx.jar一键式启动项目。另外,也降低对运行环境的基本要求,环境变量中有jdk即可
  4. 简化监控        
    1. 我们可以引入 spring-boot-start-actuator 依赖,直接使用 REST 方式来获取进程的运行期性能参数,从而达到监控的目的,比较方便。但是 Spring Boot 只是个微框架,没有提供相应的服务发现与注册的配套功能,没有外围监控集成方案,没有外围安全管理方案,所以在微服务架构中,还需要 Spring Cloud 来配合一起使用

SpringBoot的搭建

 SpringBoot的核心

自动装配

  • @springBootApplication是一个复合注解,@SpringbootConflguration springboot的配置类,@EnableAutoConfiguration 自动配置, @Configuration 包扫描

  • @SpringBootConfiguration,就是一个配置类,@Configuration是底层的核心注解,作用和spring配置文件中往spring容器中注入对象(<bean>),只是springboot封装了Configuration, 叫成了SpringBootConfiguration。

  • @EnableAutoConfiguration是由@AutoConfiguration Package ,@Import({AutoConfigurationImportSelector.class})两个注解组成

    • @AutoConfigurationPackage是由 @Import({Registrar.class})实现的,核心方法是registerBeanDefinitions(),就是为了获取启动类所在的包,为后面扫描组建做准备。

    • @Import({AutoConfigurationImportSelector.class}) 核心类是AutoConfigurationImportSelector。

原理:

通过@EnableAutoConfiguration 注解下面@Import注解引入的AutoConfigurationImportSelector这个类,去扫描jar下面的文件,然后条件注解根据当前项目依赖的pom文件以及是否配置了符合这写条件注解的配置来进行装载。

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值