1. 入口类和@SpringBootApplication解读
- 入口类
入口类一般为带main函数的*Application类,main方法实为一个标准的Java应用入口,main方法体为SpringApplicatiion.run(xxx.class,args),示例1-1
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class ProjectApplication {
public static void main(String[] args) {
SpringApplication.run(ProjectApplication.class, args);
}
}
启动SpringBoot应用方法:右击选择Run菜单,和启动Java应用程序一致,不用部署到tomcat,非常方便。
- @SpringBootApplication 注解
@SpringBootApplication为组合注解,组合了@Configuration、@EnableAutoConfiguration、@ComponentScan,换而言之,@SpringBootApplication可由以上三个注解替换。示例1-2
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class ProjectApplication {
public static void main(String[] args) {
SpringApplication.run(ProjectApplication.class, args);
}
}
1.1 Spring Boot全局配置文件
相对SpringMVC的各种繁杂的XML配置文件,Spring Boot则不需要任何XML配置即可实现Spring的所有配置,他已帮我们集成了各种默认类配置,Spring Boot 提供了application.property和application.yml两种格式的全局配置文件主要用来改变默认配置或者设置全局属性定义,本文默认使用application.yml格式
application.property
server.port=8090
server.context-path:/cube
application.yml格式
sever:
port: 8090
contextPath: /cube
application.yml格式的配置文件冒号后加空格在设值。
虽然Spring Boot提倡零配置,即无XML配置,但在实际开发项目中,如果必须使用XML配置时,Spring Boot提供了@ImportResource来支持加载XML配置,例如:
@ImportResource({"classpath:spring-service.xml","classpath:spring-mybatis.xml"})
2、日志配置
Spring Boot支持Java Util Logging、Log4j、Log4j2和Logback作为日志框架,无论使用何种日志框架,Spring Boot已为当前使用日志的控制台输出以及文件输出做好了配置,默认情况下,Spring Boot使用Logback作为日志框架。
配置日志级别:
logging:
level:
com.bwl: debug
org.springframework.web: warn
可以配置多个包的不同日志级别
3、Profile配置
Profile是Spring用来针对不同的环境提供不同的配置支持,profile命名方式为aplication-{profile}.yml,例如:
- application-prod.yml --生产环境
- application-dev.yml -- 开发环境
- application-test.yml -- 测试环境
使用方法:
通过指定spring.profiles.active参数来配置不同的profile,例如:
spring
profiles:
active: test