SpringBoot

一、什么是SpringBoot

Spring Boot 是所有基于 Spring 开发的项目的起点。Spring Boot 的设计是为了让你尽可能快的跑起来 Spring 应用程序并且尽可能减少你的配置文件。简单来说就是SpringBoot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道这样比喻是否合适)。

二、SpringBoot的搭建

    1. 选择spring Initializr创建项目   http://start.aliyun.com,删掉原先的https的s

    2.填写项目名称

    3.选择springboot的版本,如果没有想要的版本,先随便选一个,然后去pom文件中修改 

 

 4 勾选需要的模块,比如web  lombok等

 5.然后点击create进行创建

 三、SpringBoot常用注解

1.@SpringBootApplication

@SpringBootApplication注解是 Spring Boot 应用的入口,它包含了 @Configuration、@EnableAutoConfiguration 和 @ComponentScan 三个注解。

2.@Configuration

@Configuration注解是Spring框架中的一个注解,用于标识一个类为配置类,相当于XML配置文件中的<beans>标签。在@Configuration注解的类中,可以使用@Bean注解来定义一个Bean,相当于XML配置文件中的<bean>标签。

3.@EnableAutoConfiguration

@EnableAutoConfiguration是Spring Boot的核心注解之一,它的作用是开启Spring Boot的自动配置功能。在Spring Boot应用中,我们只需要添加这个注解,就可以让Spring Boot自动根据项目中的依赖关系来进行自动配置,无需手动编写大量的配置文件。 @EnableAutoConfiguration注解的实现原理是通过Spring Boot提供的SpringFactoriesLoader机制来实现的。SpringFactoriesLoader会扫描classpath下所有META-INF/spring.factories文件,然后根据文件中定义的配置类来进行自动配置。

4.@ComponentScan

@ComponentScan注解用于自动扫描指定包及其子包下的所有类,并将其注册为Spring容器中的Bean。该注解可以用在@Configuration注解的类中,也可以用在普通的@Component注解的类中。

5.@RequestMapping

用于映射 HTTP 请求路径和方法到控制器的方法上。

6. @GetMapping

用于将HTTP GET请求映射到特定的处理程序方法上。

7.@PostMapping

用于将HTTP POST请求映射到特定的处理方法上。

8.@Autowired

用于自动装配Bean。它可以自动将一个Bean注入到另一个Bean中,无需手动编写代码进行依赖注入。

9.  @Service

用于标识一个类为服务层组件。

10.@Controller

用于标识一个类是控制器(Controller)。

11.@ResponseBody

用于将Controller方法返回的对象转换为指定格式的数据,比如JSON、XML等格式,然后将其写入HTTP响应中。

12.@RequestParam

是Spring MVC框架中用于绑定请求参数的注解,它可以将请求参数绑定到方法的参数上。

四、SpringBoot的优势

1.基于Spring4

         Spring Boot 继承了原有 Spring 框架的优秀基因,使 Spring 在使用中更加方便快捷。

2.简化编码

        在 pom 文件中添加依赖

3.简化配置

        内置运行容器,无需配置 Tomcat 等 Web 容器,直接运行和部署程序。

4.简化部署

        内置运行容器,无需配置 Tomcat 等 Web 容器,直接运行和部署程序。

5.简化监控

        支持更多的监控的指标,可以更好的了解项目的运行情况。

五、SpringBoot自动装配原理


         springboot启动时,是依靠启动类的main方法来进行启动的,而main方法中执行的是SpringApplication.run()方法,而SpringApplication.run()方法中会创建spring的容器,并且刷新容器。而在刷新容器的时候就会去解析启动类,然后就会去解析启动类上的@SpringBootApplication注解,而这个注解是个复合注解,这个注解中有一个@EnableAutoConfiguration注解,这个注解就是开启自动配置,这个注解中又有@Import注解引入了一个AutoConfigurationImportSelector这个类,这个类会经过一些核心方法,然后去扫描我们所有jar包下的META-INF下的spring.factories文件,而从这个配置文件中去找key为EnableAutoConfiguration类的全路径的值下面的所有配置都加载,这些配置里面都是有条件注解的,然后这些条件注解会根据你当前的项目依赖的pom以及是否配置了符合这些条件注解的配置来进行装载的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值