一.简介:
@SpringBootApplication=@SpringBootConfiguration+@EnableAutoConfiguration+@ComponentScan
二.优点:
1.可快速构建独⽴的Spring应⽤
SpringBoot是⼀个依靠⼤量注解实现⾃动化配置的全新框架。在构建Spring应⽤时,我们只需要添加相应的场景依赖,Spring Boot就会根据添加的场景依赖⾃动进⾏配置,在⽆须额外⼿动添加配置的情况下快速构建出⼀个独⽴的Spring应⽤。
2.直接嵌⼊服务器
传统的Spring应⽤部署时,通常会将应⽤打成WAR包形式并部署到Tomcat、Jetty或Undertow服务器中。Spring Boot框架内嵌了Tomcat、Jetty 和Undertow服务器,⽽且可以⾃动将项⽬打包,并在项⽬运⾏时部署到服务器中 (⽆须部署WAR⽂件)
3. 通过依赖启动器简化构建配置
在Spring Boot项⽬构建过程中,⽆须准备各种独⽴的JAR⽂件,只需在构建项⽬时根据开发场景需求选择对应的依 赖启动器“starter”,在引⼊的依赖启动器“starter”内部已经包含了对应开发场景所需的依赖,并会⾃动下载和拉取相关JAR包。
4.⾃动化配置Spring和第三⽅库
Spring Boot充分考虑到与传统Spring框架以及其他第三⽅库融合的场景,在提供了各种场景依赖启动器的基础 上,内部还默认提供了各种⾃动化配置类(RedisAuto Configuration)。使⽤Spring Boot开发项⽬时,⼀旦引⼊ 了某个场景的依赖启动器,Spring Boot内部提供的默认⾃动化配置类就会⽣效,开发者⽆须⼿动在配置⽂件中进 ⾏相关配置(除⾮开发者需要更改默认配置),从⽽极⼤减少了开发⼈员的⼯作量,提⾼了程序的开发效率。
5.极少的代码⽣成和XML配置
Spring Boot框架内部已经实现了与Spring以及其他常⽤第三⽅库的整合连接,并提供了默认最优化的整合配置, 使⽤时基本上不需要额外⽣成配置代码和XML配置⽂件。在需要⾃定义配置的情况下,Spring Boot更加提倡使⽤ Java Config(Java配置类)替换传统的XML配置⽅式,这样更加⽅便查看和管理。
三.使用Spring Initializr方式构建Spring Boot项目
等待加载,加载未完成时不要进行任何操作!
点击运行项目的启动类,启动完成后访问localhost:8080
四. 创建⼀个⽤于Web访问的Controller
点击运行项目的启动类
@SpringBootApplication=@SpringBootConfiguration+@EnableAutoConfiguration+@ComponentScan
@SpringBootApplication
@SpringBootApplication就是一个组合注解:
@SpringBootConfiguration就是@Configuration注解,代表启动类就是一个配置类
@EnableAutoConfiguratlon帮你实现自动装配的,SpringBoot工程启动时,运行一个SpringFactoriesLoader的类,加载METAINF/spring.factories配置类已经开启的),通过SpringFactoriesLoader中的load方法,以for循环的方式,一个一个加载。
好处:无需编写大量的整合配置信息,只需要按照SpringBoot提供好了约定去整合即可。
坏处:如果说你导入了一个starter依赖,那么你就需要填写他必要的配置信息。
手动关闭自动装配指定内容:
@SpringBootApplication(exclude= QuartzAutoConfiguration.class)0@ComponentScan就机当于<context:component-scan basePackage="包名”/>,帮助扫描注解的。
五. SpringBoot三种启动方式
1.运行启动类的main方法
运行main方法即可
2.maven命令
mvn spring-boot :run
3.采用jar包的方式运行
将当前项目打包成一个jar文件,并通过java-jar jar文件
六.appliaction.properties和appliaction.yml
appliaction.properties
appliaction.yml(注意格式)
properties比yml的优先级高