在添加配置文件时遇到的一些问题,和在网上找到的答案做一些总结,下面一部分是转载自别人,地址已列出。
下文是添加配置文件的完整流程。
一、properties文件与yml文件相互转化的地址
http://www.toyaml.com/index.html
二、添加自定义配置文件
此部分中的一部分转载自https://jingyan.baidu.com/article/e8cdb32bf9c12c37052badb1.html
1、新建一个自定义的properties配置文件(名称不可使用”application“,这是SpringBoot的默认文件名称),配置文件内容可以有字符串,数组,对象。内容进行对应的转换即可。
在properties文件中key可以自定义,下图为person
(图2是yml文件的写法)
2、然后再新建一个javaBean配置类来映射自定义配置文件,生成getter/setter方法,为方便查看效果,生成toString方法。
方法:Alt+Insert或者右击鼠标Generate
3、然后将该JavaBean配置类进行注解说明:通过@ConfigurationProperties 绑定对应的配置属性,prefix后面跟着的名称要与配置文件中的名称保持一致,使用@PropertySource 注解说明引入的自定义配置属性文件。
注意:@PropertySource 不支持引入yml文件。
在Spring中,只有容器中的组件才能使用容器提供的各类方法,所以将该类注解声明为组件 @Component,加入容器中。
4、为了方便书写配置文件,SpringBoot会提示你添加一个依赖(配置文件处理器)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
5、如果想确认映射配置属性是否成功,可以使用SpringBoot提供的单元测试类进行测试.
添加junit测试的方法:右击config类☞Goto☞Test
三、绑定对象bean调用
此部分转载自https://www.cnblogs.com/gczr/p/6692054.html
1、有时候属性太多了,一个个绑定到属性字段上太累,官方提倡绑定一个对象的bean,这里我们建一个ConfigBean.java类,顶部需要使用注解@ConfigurationProperties(prefix = “com”)来指明使用哪个
@ConfigurationProperties(prefix = "com")
public class ConfigBean {
private String name;
private String id;
// 省略getter和setter
}
2、这里配置完还需要在spring Boot入口类加上@EnableConfigurationProperties并指明要加载哪个bean,如果不写ConfigBean.class,在bean类那边添加
@SpringBootApplication
@EnableConfigurationProperties({ConfigBean.class})
public class Chapter2Application {
public static void main(String[] args) {
SpringApplication.run(Chapter2Application.class, args);
}
}
3、最后在Controller中引入ConfigBean使用即可,如下:
@RestController
public class UserController {
@Autowired
ConfigBean configBean;
@RequestMapping("/")
public String hexo(){
return configBean.getName()+configBean.getId();
}
}
四、自定义配置文件时需要注意的问题
1、在properties文件中添加空格
转载自:https://blog.csdn.net/u014218318/article/details/79076089
key1 = value1
key2 = value2
\u0020 #英文状态下空格
\u3000 #中文状态下空格
(未完待续)