Spring Boot核心
基本配置
1.入口类和@SpringBootApplication
Spring Boot有一个*Application的入口类,main方法执行SpringApplication.run(DemoApplication.class,
args)来启动Spring Boot项目
@SpringBootApplication是Spring Boot的核心注解,是一个组合注解
组合了@Configuration、@EnableAutoConfiguration、@ComponentScan;若不使用@SpringBootApplication,可在入口类直接使用上述三种。
其中@EnableAutoConfiguration是让Spring
Boot根据类路径中的jar包依赖为当前项目进行自动配置。
Spring Boot会自动扫描@SpringBootApplication所在类的同级包以及下级包内的Bean,建议入口类放置的位置在groupId+arctifactID组合包名下。
2.关闭特定的自动配置
由上图可知,关闭特定自动配置应该使用@SpringBootApplication注解的exclude参数。
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
3.定制Banner
修改Banner
(1)Spring Boot启动时会有默认启动图案
(2)在src/main/resources下新建banner.txt
(3)通过http://patorjk.com/software/taag生成字符,将网站生成字符复制到banner.txt
(4)重新启动图案改变
关闭banner
(1)main里内容修改
SpringApplication app=newSpringApplication(DemoApplication.class);
app.setShowBanner(false);
app.run(args);
或者
newSpringApplication(DemoApplication.class).showBanner(false).run(args);
4.Spring Boot的配置文件
Spring Boot使用一个全局的配置文件application.properties或application.yml,放置在src/main/resources目录或类路径的/config下
Spring Boot不仅支持常规的properties配置文件,还支持yaml语言的配置文件,
yaml是以数据为中心的语言,在配置数据时具有面向对象的特征。
将tomcat默认端口改成9090,默认访问路径"/"改成"/helloboot"
在application.properties添加
server.port=9090
server.context-path=/helloboot
5.starter pom
只要使用了应用场景所需要的starter pom,相关的技术配置将会消除,就可以得到Spring Boot为我们提供的自动配置的Bean
6.使用xml配置
在Spring Boot项目中可能特殊要求必须用到xml配置,我们可以通过Spring提供的@ImpoertResource来加载xml配置
例如:@ImportResource({"classpath:some-context.xml","classpath:another-context.xml"})
外部配置
Spring Boot允许使用properties文件、yaml文件或者命令行参数作为外部配置
1.命令行参数配置
Spring Boot可以基于jar包运行的,打成jar包程序直接命令运行:
java -jar xx.jar
也可以修改tomcat端口
java -jar xx.jar --server.port=9090
2.常规属性配置
只需在application.properties定义属性,直接使用@Value注入即可
例如:
3.类型安全的配置
用@Value注入比较麻烦,Spring Boot提供了基于类型安全的配置方式,通过@ConfigurationProperties将propertirs属性和一个Bean及其属性关联,从而实现类型安全的配置。
新建项目
修改配置
类型安全的类
校验代码
结果访问
日志配置
Spring Boot默认使用Logback作为日志框架
配置日志级别:logging.file=K:\log.log
配置日志文件,格式为logging.level.包名=级别
logging.level.org.springframework.web=DEBUG
Profile配置
Profile是Spring用来针对不同环境对不同配置提供支持的,全局Profile配置使用application-{profile}.properties.(如application-prod.properties)
通过application.properties中设置spring.profiles.active=prod来指定活动的Profile.
新建项目
生产和开发的配置如图
application.properties添加
程序启动结果