SpringBoot实战:SpringBoot之本地配置(二)
在application.properties文件中添加以下配置,当然在application-dev.properties文件中添加也是可以的。
#应用idspring.application.id=spring-boot-wusy-demo
#应用名称
spring.application.name=spring-boot-wusy-demo
#编码设置
server.tomcat.uri-encoding=UTF-8
spring.http.encoding.charset=UTF-8
spring.http.encoding.force=true
spring.http.encoding.enabled=true
spring.messages.encoding=UTF-8
# tomcat 配置
server.tomcat.accept-count=1000
server.tomcat.max-threads=500
# session超时时间,单位是秒
server.servlet.session.timeout=1800
#当前应用http端口
server.port=8787
#访问地址,该配置可以不配置,则直接通过ip+port访问
#server.servlet.context-path=/demo
spring.profiles.active = dev
创建一个SpringApplicationProperties类,来获取spring.application开头的配置
import lombok.Getter;import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
/**
* @author wusy
* Company: xxxxxx科技有限公司
* Createtime : 2020/2/25 22:57
* Description : 读取spring.application开头的配置值
*/
@Configuration
@ConfigurationProperties(prefix = "spring.application")
@Setter
@Getter
public class SpringApplicationProperties {
/**
* 应用id
*/
private String id ;
/**
* 应用名称
*/
private String name;
}
这里引入了lombok开发辅助包,有关idea安装lombok包的插件可以参考https://jingyan.baidu.com/article/0a52e3f4e53ca1bf63ed725c.html这里就不多说了。这里要主要这个类要添加@Configuration注解,让spring在扫描的时候会扫描到该类,这里需要提到的一点是SpringBoot的默认扫描路径是启动类所在的package,当然也可通过在启动类中添加@ComponentScan来进行其他路径的扫描。
引入pom.xml中引入spring-boot-configuration-processor包
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.wusy.demo</groupId>
<artifactId>spring-boot-wusy-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- 继承SpringBoot父包 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.4.RELEASE</version>
<relativePath></relativePath>
</parent>
<dependencies>
<!-- 引入lombok,方便开发 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<!-- spring boot web支持:mvc,aop... -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>
最后通过@Autowired自动注入SpringApplicationProperties类,来使用配置信息
import com.wusy.demo.config.SpringApplicationProperties;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
/**
* @author wusy
* Company: xxxxxx科技有限公司
* Createtime : 2020/2/24 21:54
* Description :
*/
@RestController
@RequestMapping("/api/demo")
public class HelloWorldController {
@Autowired
private SpringApplicationProperties springApplicationProperties;
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String hello() {
return "hello world," + springApplicationProperties.getName();
}
}
打开浏览器,在地址栏输入http://127.0.0.1:8787/api/demo/hello
至此,SpringBoot通过@ConfigurationProperties来获取配置信息例子演示完毕。
项目码云地址:https://gitee.com/wusycode/spring-boot-wusy-demo.git
以上是 SpringBoot实战:SpringBoot之本地配置(二) 的全部内容, 来源链接: utcz.com/z/513843.html