目录
前沿
准备
使用@ConfigurationProperties
①使用@Component + @ConfigurationProperties
②@EnableConfigurationProperties + @ConfigurationProperties
小结
使用@PropertySource
①@PropertySource +@Component+ @Value
②使用@PropertySource 和 @ConfigurationProperties
前沿
很多时候我们需要将配置文件的内容读取到程序中,我们可以使用@ConfigurationProperties注解也可以使用@PropertySource,那么我们该如何 *** 作呢?
准备springboot工程的配置文件(application.properties或application.yml)
使用@ConfigurationProperties ①使用@Component + @ConfigurationProperties编写Controller测试
package com.aoshen.controller;
import com.aoshen.pojo.School;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@Autowired
private School school;
@GetMapping("/school")
public String getSchool(){
return school.toString();
}
}
②@EnableConfigurationProperties + @ConfigurationProperties
只在实体类上保留@ConfigurationProperties注解
在配置类加入 @EnableConfigurationProperties注解
这个类的作用我在上篇文章中已经讲述过,这里不再赘述。
再次启动访问我们的Controller
小结
上述两种方式我们必须保证实体类的属性与配置文件里的配置要保持一致
否则对象的属性不会自动装配,会显示为null。
使用@PropertySource上面的方式我们可以看出,其配置信息是写在了springboot的配置文件中(application.properties或application.yml)。如果是我们自定义的配置文件我们应该如何读取呢?
①@PropertySource +@Component+ @Value这里实体类与配置文件里的名字可以不一致哦
启动测试
②使用@PropertySource 和 @ConfigurationProperties
如果不想使用@Value注解可以借助我们的@ConfigurationProperties 注解
这里配置文件与实体类名字得一致哦
测试
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)