springboot 入门(二)
1.springboot 资源文件属性配置与映射到实体类
首先,引入依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
然后,新建resource.properties文件,配置如下属性,注意属性的prefix要一致
com.anson2021b.name = anson2021b com.anson2021b.website = wwww.anson2021b.com com.anson2021b.language = java
根据属性prefix之后的字段,新建Resource.java类,类属性设置为 name,website,language 字段。
同时,添加注解。
@Configuration//代表此类会引用资源文件 @ConfigurationProperties(prefix = "com.anson2021b")//做映射时,只把前缀后面的属性映射到实体类的字段里去 @PropertySource(value="classpath:resource.properties")//要引用的资源文件的位置 public class Resource { String name; String website; String language; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getWebsite() { return website; } public void setWebsite(String website) { this.website = website; } public String getLanguage() { return language; } public void setLanguage(String language) { this.language = language; } }
通过controller 层,获取映射到属性结果
@Autowired private Resource resource; @RequestMapping("/hello") public Object Hello(){ return "hello,world"; } @RequestMapping("/getSource") @ResponseBody public JsonResult getSource(){ Resource bean = new Resource(); BeanUtils.copyProperties(resource,bean);//将resource属性映射给bean return new JsonResult().OK(bean); }
2.springboot自定义属性,以修改tomact属性
1.application.properties 中修改tomact属性
2.以下是一些属性的举例(加粗部分)。
#关闭缓存,及时刷新 spring.thymeleaf.cache=false #热部署生效 spring.devtools.restart.enabled=true spring.devtools.restart.additional-paths=src/main/java #配置服务端口 server.port = 8088 #配置项目路径 server.servlet.context-path= /demo #配置session超时时间(tomcat默认配置30min) server.servlet.session.timeout=60 #配置启动服务的ip(一般来说,配置的不是本机ip,服务启动的时候,就会抛异常了) #server.address= xxx.xxx.xxxx
1.修改项目的端口,发现默认的8080端口访问不通,要从新端口8088去访问controller
2.修改项目路径,发现以前访问的通的url,需要再加上/demo 才能访问通。因为项目路径是构成url的一部分。
3.修改session超时时间。
4.修改服务的ip。但是其实不常用,并且在本机启动服务时,如果server.address不是本机器的ip,服务启动会失败。
另外,换成server.address后,本机不能通过localhost或者127.0.0.1去访问。
所以,如果要访问controller,需要这么访问xxx.xxx.xxxx:8088/demo/getSource 去获取属性配置结果。
3.参考资料
1.nginx与tomact对比:https://bbs.huaweicloud.com/blogs/detail/106740