作者:一一哥
在Spring Boot 项目中会使用一个全局的配置文件application.properties
或者是 application.yml
,该文件会存放在 resources
目录下或者类路径下的 /config
目录中,一般我们都放到 resources
下.
我们结合之前的章节,创建一个SpringBoot项目,然后再该项目的src/main/resource目录下,创建一个配置文件application.properties.
然后我们就可以在 application.properties
中添加如下配置了:
server.port=8088
server.servlet.context-path=/oa
或在 application.yml 中添加:
server:
port: 8088
servlet:
context-path: /oa
项目启动后,控制台效果:
更多配置信息
Spring Boot 对各种日志框架都做了支持,我们可以通过配置来修改默认的日志的配置.
默认情况下,Spring Boot 使用 Logback 作为日志框架.
application.properties配置文件
logging.file.path=../logs/spring-boot-hello.log
logging.level.org.springframework.web=DEBUG
application.yml配置文件
logging:
file:
path:../logs/spring-boot-hello.log
level.org.springframework.web: DEBUG
然后在我的项目所在盘符下,就可以看到有一个logs日志目录,存放了本项目的日志信息
Spring Boot自动配置(auto-configuration)功能,会尝试根据我们添加的jar依赖,自动的配置Spring应用。
比如在classpath下存在HSQLDB,并且我们没有手动配置任何数据库连接的beans,那么Spring Boot将自动配置一个内存型(in-memory)的数据库。
而且自动配置(Auto-configuration)是非侵入性的,任何时候你都可以定义自己的配置类来替换自动配置的特定部分。例如,如果你添加自己的DataSource bean,默认的内嵌数据库支持将不被考虑。
实现自动配置有两种可选方式,分别是将@EnableAutoConfiguration或@SpringBootApplication注解添加到@Configuration类上。
我们只应该添加一个自动配置的注解,@EnableAutoConfiguration或者@SpringBootApplication,通常建议将它添加到主配置类(primary @Configuration)上。
如果我们发现在SpringBoot中启用了不想要的自动配置项,可以使用@EnableAutoConfiguration或者@SpringBootApplication注解的exclude属性禁用它们。
我们以关闭数据源的自动配置为例,排除掉数据源配置,这样就不会再自动配置数据源了.
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
另外,如果该类(DataSourceAutoConfiguration)不在classpath中,你可以使用该注解的excludeName属性,并指定全限定名来达到相同效果。
最后,你也可以通过spring.autoconfigure.exclude属性exclude多个自动配置项(一个自动配置项集合).
通过注解级别或exclude属性都可以定义排除项!
Spring Boot 为我们提供了简化企业级开发绝大多数场景的 starter pom ,只要使用了应用场景所需要的 starter pom ,相关的技术配置将会消除,就可以得到 Spring Boot 为我们提供的自动配置的 Bean.
更多 Starter POM