SpringBoot2.x系列教程11--小花样之SpringBoot其他常用配置

SpringBoot系列教程11--小花样之SpringBoot其他常用配置

作者:一一哥

一. 修改端口号和访问路径

在Spring Boot 项目中会使用一个全局的配置文件application.properties 或者是 application.yml,该文件会存放在 resources 目录下或者类路径下的 /config 目录中,一般我们都放到 resources 下.

1.创建application.properties文件

我们结合之前的章节,创建一个SpringBoot项目,然后再该项目的src/main/resource目录下,创建一个配置文件application.properties.

SpringBoot2.x系列教程11--小花样之SpringBoot其他常用配置_第1张图片

2. 修改 Tomcat 的端口为 8088,并将默认的访问路径 "/" 修改为 "oa"

然后我们就可以在 application.properties 中添加如下配置了:

server.port=8088
server.servlet.context-path=/oa

或在 application.yml 中添加:

server:
  port: 8088
  servlet:
    context-path: /oa

3.创建一个Controller

SpringBoot2.x系列教程11--小花样之SpringBoot其他常用配置_第2张图片

4. 测试效果:

项目启动后,控制台效果:

SpringBoot2.x系列教程11--小花样之SpringBoot其他常用配置_第3张图片

更多配置信息

二. 日志配置

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

SpringBoot2.x系列教程11--小花样之SpringBoot其他常用配置_第4张图片

然后在我的项目所在盘符下,就可以看到有一个logs日志目录,存放了本项目的日志信息

SpringBoot2.x系列教程11--小花样之SpringBoot其他常用配置_第5张图片

三.自动配置再分析

1.自动配置

Spring Boot自动配置(auto-configuration)功能,会尝试根据我们添加的jar依赖,自动的配置Spring应用。

比如在classpath下存在HSQLDB,并且我们没有手动配置任何数据库连接的beans,那么Spring Boot将自动配置一个内存型(in-memory)的数据库。

2.自动配置的非侵入性

而且自动配置(Auto-configuration)是非侵入性的,任何时候你都可以定义自己的配置类来替换自动配置的特定部分。例如,如果你添加自己的DataSource bean,默认的内嵌数据库支持将不被考虑。

3.自动配置的实现方式

实现自动配置有两种可选方式,分别是将@EnableAutoConfiguration或@SpringBootApplication注解添加到@Configuration类上。

注意:

我们只应该添加一个自动配置的注解,@EnableAutoConfiguration或者@SpringBootApplication,通常建议将它添加到主配置类(primary @Configuration)上。

四. 关闭特定的自动配置

如果我们发现在SpringBoot中启用了不想要的自动配置项,可以使用@EnableAutoConfiguration或者@SpringBootApplication注解的exclude属性禁用它们。

我们以关闭数据源的自动配置为例,排除掉数据源配置,这样就不会再自动配置数据源了.

@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})

SpringBoot2.x系列教程11--小花样之SpringBoot其他常用配置_第6张图片

另外,如果该类(DataSourceAutoConfiguration)不在classpath中,你可以使用该注解的excludeName属性,并指定全限定名来达到相同效果。

SpringBoot2.x系列教程11--小花样之SpringBoot其他常用配置_第7张图片

最后,你也可以通过spring.autoconfigure.exclude属性exclude多个自动配置项(一个自动配置项集合).

注意:

通过注解级别或exclude属性都可以定义排除项!

五. 关于Starter POM

Spring Boot 为我们提供了简化企业级开发绝大多数场景的 starter pom ,只要使用了应用场景所需要的 starter pom ,相关的技术配置将会消除,就可以得到 Spring Boot 为我们提供的自动配置的 Bean.

更多 Starter POM

你可能感兴趣的:(SpringBoot,Spring,Boot,2)