Spring Boot常用配置
概述
本文主要写了下Spring Boot的一些常用配置。
Spring Boot基本配置
入口类:
Spring Boot通常有一个名为*Application的入口类,入口类里面有一个main方法,这个main方法其实就是一个标准的Java应用的入口方法。在main方法中使用SpringApplication.run(*Application.class, args),启动Spring Boot应用项目。
@SpringBootApplication:
@SpringBootApplication是Spring Boot的核心注解,它是一个组合注解,源码如下:
//关闭Banner有两种方式,都是修改main里面的内容。 //1: new SpringApplicationBuilder(Ch623Application.class).showBanner(false).run(args); //2: SpringApplication springApplication = new SpringApplication(Ch623Application.class); springApplication.setShowBanner(false); springApplication.run(args);关闭Banner
Spring Boot的配置文件:
Spring Boot使用一个全局的配置文件application.properties或application.yml,放置在src/main/resources目录或者类路径的/config下。
Spring Boot不仅支持常规的properties配置文件,还支持yaml语言的配置文件。yaml是以数据为中心的语言,在配置数据的时候具有面向对象的特征。
Spring Boot的全局配置文件的作用是对一些默认配置的配置值进行修改。
例:修改Tomcat的默认端口号,并将默认的访问路径“/”修改为“/helloboot”,就可以在配置文件中加上下面的代码。
server.port=9090
server.CONTEXT_PATH=/helloboot
starter pom:
Spring Boot为我们提供了简化企业级开发绝大多数场景的starter pom,只要使用了应用场景所需要的starter pom,相关的技术配置将会消除,就可以得到Spring Boot为我们提供的自动配置的Bean。
可以去Spring Boot官网找到其提供了哪些starter pom。
使用xml配置:
Spring Boot提倡零配置,即无xml配置,但是在实际项目中,可能有一些特殊要求你必须使用xml配置,这时我们可以通过Spring提供的@ImportResource来加载xml配置。
例:@ImportResource({"classpath:som-context.xml","classpath:another-context.xml"})
Spring Boot外部配置
Spring Boot除了上面的配置外,还允许使用properties文件、yaml文件或者命令行参数作为外部配置。
命令行参数配置:
Spring Boot可以是基于jar包运行的,打成jar包的程序可以直接通过命令运行:java -jar xx.jar。
可以通过命令修改Tomcat端口号:java -jar xx.jar --server.port=9090。
常规属性配置:
在Spring中,可以通过注入properties文件里的值的方式,并使用@PropertySource指明properties文件的位置,然后通过@Value注解注入值。
在Spring Boot里,我们只需要在application.properties定义属性,直接使用@Value注入即可。
例如:
//application.properties中写下如下代码 //book.author=gaof //book.name=spring boot //然后注入。 @Value("${book.author}") private String bookAuthor; @Value("${book.name}") private String bookName;
类型安全的配置(基于properties):
上面使用@Value注入每个配置在实际项目中会显得格外麻烦,因为我们的配置通常会是许多个,若使用上面的方式则要使用@Value注入很多次。
Spring Boot还提供了基于类型安全的配置方式,通过@ConfigurationProperties将properties属性和一个Bean及其属性关联,从而实现类型安全的配置。
例如:
package com.wisely.ch6_2_3.config; import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; /** * 在application.properties中写下如下代码 * author.name=gaof * author.age=32 * 然后使用@ConfigurationProperties注解的prefix指定properties里面配置的 前缀。 * * 若需指定其他的配置文件,则需添加属性locations。 */ @Component @ConfigurationProperties(prefix = "author") //@ConfigurationProperties(prefix = "author", locations = {"classpath:config/author.properties"}) public class AuthorSettings { private String name; private Long age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Long getAge() { return age; } public void setAge(Long age) { this.age = age; } }
注:使用了类型安全配置的类在别的类中使用时须在类上面加上@EnableConfigurationProperties声明,开启属性注入。
日志配置
Spring Boot支持Java Util Logging、Log4J、Log4J2和Logback作为日志框架,无论使用哪种日志框架,Spring Boot都已为当前使用日志框架的控制台输出及文件输出做好了配置。
默认情况下,Spring Boot使用Logback作为日志框架。
配置日志级别:logging.level.org.springframework.web = DEBUG;格式:logging.level.包名=级别。
配置日志文件:logging.file=D:/mylog/log.log。
Profile配置
Profile是Spring用来针对不同的环境对不同的配置提供支持的,全局Profile配置使用application-{profile}.properties。
通过在application.properties中设置spring.profiles.active=prod来指定活动的Profile。
例如:
- 12-SpringBoot——Spring MVC基础-常用配置
- Spring Boot 一些常用的pom配置
- springboot心得笔记-常用配置
- spring-boot常用参数配置说明
- spring-boot-started-logging logback常用配置之<filter>标签详解
- SpringBoot常用配置
- spring boot之spring mvc常用配置--拦截器配置(4)
- spring-boot-starter-logging logback常用配置之<appender>标签详解
- springboot学习笔记-2 一些常用的配置以及整合mybatis
- Spring Boot 常用配置
- Spring Boot 菜鸟教程 application.properties 常用配置
- Common Spring Boot Properties(常用配置)
- SpringBoot常用配置
- Spring Boot 中的.yml和.properties的常用配置
- SpringBoot常用配置简介
- spring boot之spring mvc常用配置--路径匹配参数设置(7)
- SpringBoot之LogBack常用配置
- Spring Boot常用注解(三) - 实现Java配置的注解
- springboot学习章节-spring常用配置
- SpringBoot(一):Spring常用配置