Springboot读取配置文件及自定义配置文件的方法

时间:2021-05-20

1.创建maven工程,在pom文件中添加依赖

<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 单元测试使用 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> </dependencies>

2.创建项目启动类 StartApplication.java

package com.kelly.controller;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;@Configuration@EnableAutoConfiguration //自动加载配置信息@ComponentScan("com.kelly")//使包路径下带有注解的类可以使用@Autowired自动注入public class StartApplication { public static void main(String[] args) { SpringApplication.run(StartApplication.class, args); }}package com.kelly.controller;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.EnableAutoConfiguration;import org.springframework.context.annotation.ComponentScan;import org.springframework.context.annotation.Configuration;@Configuration@EnableAutoConfiguration //自动加载配置信息@ComponentScan("com.kelly")//使包路径下带有注解的类可以使用@Autowired自动注入public class StartApplication { public static void main(String[] args) { SpringApplication.run(StartApplication.class, args); }}package com.kelly.controller;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;@Controllerpublic class FirstController { @Value("${test.name}") private String name; @Value("${test.password}") private String password; @RequestMapping("/") @ResponseBody String home() { return "Hello Springboot!"; } @RequestMapping("/hello") @ResponseBody String hello() { return "name: " + name + ", " + "password: " + password; }}

5.打开浏览器,输入 http://localhost:8081/springboot/hello 即可看到结果

6.使用java bean的方式读取自定义配置文件 define.properties

  DefineEntity.java

package com.kelly.entity;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.context.annotation.PropertySource;import org.springframework.stereotype.Component;@Component@ConfigurationProperties(prefix="defineTest")@PropertySource("classpath:define.properties")public class DefineEntity { private String pname; private String password; public String getPname() { return pname; } public void setPname(String pname) { this.pname = pname; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}SecondController.javapackage com.kelly.controller;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import com.kelly.entity.DefineEntity;@Controllerpublic class SecondController { @Autowired DefineEntity defineEntity; @RequestMapping("/define") @ResponseBody String define() { return "test.name:" + defineEntity.getPname() + ", test.password:" + defineEntity.getPassword(); }}

7.打开浏览器,访问 http://localhost:8081/springboot/define,可以看到输出结果

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

总结

以上所述是小编给大家介绍的Springboot读取配置文件及自定义配置文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章