springBoot属性注入的三种常用方式

本文详细介绍了在SpringBoot中如何使用三种不同方式读取配置文件的信息,包括@Value注解、@ConfigurationProperties注解以及Environment接口的使用方法,并对比了它们的特点。

注意:
SpringBoot是默认识别application.properties和application.yml文件的。
如果在application配置文件写信息:

jdbc.username=root
jdbc.password=123456

不需要写@PropertySource("classpath:jdbc.properties")注解,如果自己定义jdbc.properties里面写上这些信息:需要写上@PropertySource("classpath:jdbc.properties")
使用@PropertySource注解加载自定义的配置文件,但该注解无法加载yml配置文件。然后可以使用@Value注解获得文件中的参数值
方式一: @Value

@PropertySource("classpath:jdbc.properties")  //是否要加取决于在哪里写的
@Data
@Component
public class JDBC {
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;
}

方式二: @ConfigurationProperties

@PropertySource("classpath:jdbc.properties")  //也是否要加取决于在哪里写的
@ConfigurationProperties(prefix="jdbc")
@Data
@Component
public class JDBC {
    private String username;
    private String password;
}

方式三:Environment

@RestController
public class WebController { 
  @Autowired
  private Environment env; 
    
  @RequestMapping("/index")  
  public String index(){ 
    return "方式二:"+env.getProperty("jdbc.username"); 
  } 
}

这种方式好像只能获取放在application里面的信息,对于自定义文件的只能用方式一和二

总结:
对于方式一和二,必须要加上 @component 注解,然后使用的时候用@Autowire注入后才能取得值,直接new 的方式是获取不到的!
推荐第二种方式!简洁优雅!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Apple_Web

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值