目录
1、什么是springboot
Spring Boot是Spring开源组织下的子项目,是Spring组件一站式解决方案,主要是简化了使用Spring的难度,简省了繁重的配置,提供了各种启动器,开发者能快速上手
2、核心注解
@SpringbootApplication,它是个组合注解,其中有三个重要的注解
- @SpringbootConfiguration:核心注解就是@Configuration,标注当前类是个配置类
- @EnableAutoConfiguration:Springboot根据你添加的jar包来配置你项目的默认配置,比如根据spring-boot-starter-web ,来判断你的项目是否需要添加了webmvc和tomcat,就会自动的帮你配置web项目中所需要的默认配置
- @ComponentScan:配置扫描包,默认扫描@SpringBootApplication所在类的同级包以及下级所有的包
3、Spring Boot 中的 Starter
Starters可以理解为启动器,它包含了一系列可以集成到应用里面的依赖包,你可以一站式集成 Spring 及其他技术,而不需要到处找示例代码和依赖包。如你想使用 Spring JPA 访问数据库,只要加入 spring-boot-starter-data-jpa 启动器依赖就能使用了
4、SpringBoot 实现热部署
热部署就是当应用程序正在运行的时候升级软件或修改某一部分代码、配置文件时,无需重新启动应用,即可使升级的软件和修改后的代码、配置文件生效
主要有两种方式
(1)spring-boot-devtools依赖
第一步:在pom中添加依赖
第二步:修改配置
第三步:修改开发软件的配置
(2)Spring Loaded
第一步:在maven中添加依赖
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.4.RELEASE</version>
</dependency>
第二步:
修改run参数里的VM值为:
-javaagent:.\lib\springloaded-1.2.4.RELEASE.jar -noverify
注意:
devtools的方式实现的功能其实是快速重启,加上自动编译就能实现所谓的”热部署“了
5、Spring Boot 如何定义多套不同环境配置
Profile:Spring Boot可以对不同环境或者指令来读取不同的配置文件
(1)基于properties文件类型
你可以另外建立3个环境下的配置文件:
applcation.properties
application-dev.properties
application-test.properties
application-prod.properties
然后在applcation.properties文件中指定当前的环境spring.profiles.active=test,这时候读取的就是application-test.properties文件
(2)基于yml文件类型
只需要一个applcation.yml文件就能搞定,推荐此方式
此时读取的就是prod的配置,prod包含proddb,prodmq,此时可以读取proddb,prodmq下的配置。
也可以同时激活三个配置。
spring.profiles.active: prod,proddb,prodmq
(3)基于Java代码@Profile
在JAVA配置代码中也可以加不同Profile下定义不同的配置文件,@Profile注解只能组合使用@Configuration和@Component注解