Spring MVC 通过 @PropertySource和@Value 来读取配置文件

ゝ一纸荒年。 2022-04-13 10:59 231阅读 0赞

Spring MVC 通过 @PropertySource和@Value 来读取配置文件

在这篇文章中,我们会利用Spring的@PropertySource和@Value两个注解从配置文件properties中读取值。先来段java代码:

复制代码

  1. @Component
  2. @PropertySource(value = {"classpath:common.properties", "classpath:abc.properties"})
  3. public class Configs {
  4. @Value("${connect.api.apiKeyId}")
  5. public String apiKeyId;
  6. @Value("${connect.api.secretApiKey}")
  7. public String secretApiKey;
  8. public String getApiKeyId() {
  9. return apiKeyId;
  10. }
  11. public String getSecretApiKey() {
  12. return secretApiKey;
  13. }
  14. }

复制代码

我们来具体分析下:

1、@Component注解说明这是一个普通的bean,在Component Scanning时会被扫描到并被注入到Bean容器中;我们可以在其它引用此类的地方进行自动装配。@Autowired这个注解表示对这个bean进行自动装配。 比如:

复制代码

  1. @Controller
  2. public class HomeController {
  3. @Autowired
  4. private Configs configs;
  5. }

复制代码

2、@PropertySource注解用来指定要读取的配置文件的路径从而读取这些配置文件,可以同时指定多个配置文件;

3、@Value(“${connect.api.apiKeyId}“)用来读取属性key=connect.api.apiKeyId所对应的值并把值赋值给属性apiKeyId;

4、通过提供的get方法来获取属性值,如:

复制代码

  1. @Controller
  2. public class HomeController {
  3. @Autowired
  4. private Configs configs;
  5. private void decrytCardInfo(AtomRequest req) throws Exception {
  6. req.setCardNo(ChipherUtils.desDecrypt(ChipherUtils.decodeBase64(req.getCardNo()), configs.getCardKey(), Consts.CHARSET_UTF8));
  7. }
  8. }

复制代码

总结:

@Component+@PropertySource+@Value==强大+便捷+高效

标签: Java, Spring MVC

发表评论

表情:
评论列表 (有 0 条评论,231人围观)

还没有评论,来说两句吧...

相关阅读