Springboot读取配置文件及自定义配置文件
创建maven工程,在pom文件中添加依赖
1 <parent> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-parent</artifactId> 4 <version>1.5.9.RELEASE</version> 5 </parent> 6 7 <dependencies> 8 <dependency> 9 <groupId>org.springframework.boot</groupId> 10 <artifactId>spring-boot-starter-web</artifactId> 11 </dependency> 12 <!-- 单元测试使用 --> 13 <dependency> 14 <groupId>org.springframework.boot</groupId> 15 <artifactId>spring-boot-starter-test</artifactId> 16 </dependency> 17 18 <dependency> 19 <groupId>junit</groupId> 20 <artifactId>junit</artifactId> 21 <scope>test</scope> 22 </dependency> 23 24 </dependencies>
2.创建项目启动类 StartApplication.java
1 package com.kelly.controller;
2
3 import org.springframework.boot.SpringApplication;
4 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
5 import org.springframework.context.annotation.ComponentScan;
6 import org.springframework.context.annotation.Configuration;
7
8 @Configuration
9 @EnableAutoConfiguration //自动加载配置信息
10 @ComponentScan("com.kelly")//使包路径下带有注解的类可以使用@Autowired自动注入
11 public class StartApplication {
12 public static void main(String[] args) {
13 SpringApplication.run(StartApplication.class, args);
14 }
15 }
3.编辑配置文件application.properties及自定义配置文件define.properties
application.properties
#访问的根路径 server.context-path=/springboot #端口号 server.port=8081 #session失效时间 server.session-timeout=30 #编码 server.tomcat.uri-encoding=utf-8 test.name=kelly test.password=admin123
define.properties
defineTest.pname=test defineTest.password=test123
4.读取application.properties配置文件中的属性值
FirstController.java
1 package com.kelly.controller;
2
3 import org.springframework.beans.factory.annotation.Value;
4 import org.springframework.stereotype.Controller;
5 import org.springframework.web.bind.annotation.RequestMapping;
6 import org.springframework.web.bind.annotation.ResponseBody;
7
8
9 @Controller
10 public class FirstController {
11
12 @Value("${test.name}")
13 private String name;
14
15 @Value("${test.password}")
16 private String password;
17
18 @RequestMapping("/")
19 @ResponseBody
20 String home()
21 {
22 return "Hello Springboot!";
23 }
24
25 @RequestMapping("/hello")
26 @ResponseBody
27 String hello()
28 {
29 return "name: " + name + ", " + "password: " + password;
30 }
31 }
5.打开浏览器,输入 http://localhost:8081/springboot/hello 即可看到结果

6.使用java bean的方式读取自定义配置文件 define.properties
DefineEntity.java
1 package com.kelly.entity;
2
3 import org.springframework.boot.context.properties.ConfigurationProperties;
4 import org.springframework.context.annotation.PropertySource;
5 import org.springframework.stereotype.Component;
6
7 @Component
8 @ConfigurationProperties(prefix="defineTest")
9 @PropertySource("classpath:define.properties")
10 public class DefineEntity {
11
12 private String pname;
13
14 private String password;
15
16 public String getPname() {
17 return pname;
18 }
19
20 public void setPname(String pname) {
21 this.pname = pname;
22 }
23
24 public String getPassword() {
25 return password;
26 }
27
28 public void setPassword(String password) {
29 this.password = password;
30 }
31
32
33 }
SecondController.java
1 package com.kelly.controller;
2
3 import org.springframework.beans.factory.annotation.Autowired;
4 import org.springframework.stereotype.Controller;
5 import org.springframework.web.bind.annotation.RequestMapping;
6 import org.springframework.web.bind.annotation.ResponseBody;
7
8 import com.kelly.entity.DefineEntity;
9
10 @Controller
11 public class SecondController {
12
13 @Autowired
14 DefineEntity defineEntity;
15
16 @RequestMapping("/define")
17 @ResponseBody
18 String define()
19 {
20 return "test.name:" + defineEntity.getPname() + ", test.password:" + defineEntity.getPassword();
21 }
22 }
7.打开浏览器,访问 http://localhost:8081/springboot/define,可以看到输出结果

补充:我的项目的目录结构

转自:https://www.cnblogs.com/kellyJAVA/p/8030395.html
我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他
们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其
实我是一个程序员


浙公网安备 33010602011771号