方式一: @Value
- 基本类型属性注入,直接在字段上添加@Value(“${xxx.xxx}”)
在实现类中通过@Value直接获取
XXXImpl.java实现类:
.yml配置文件
/**凭证 */
@Value("${qywx.corpid}")
private String appid;
/**密钥 */
@Value("${qywx.corpsecret}")
private String appsecret;
- 在配置类中通过@Value直接获取
如果配置变量是在工具类中使用时:
@Component
public class HttpsRequest {
/**凭证 */
private String appid;
/**密钥 */
private String appsecret;
@Value("${qywx.corpid}")
public void setAppid(String appid) {
this.appid = appid;
}
@Value("${qywx.corpsecret}")
public void setAppsecret(String appsecret) {
this.appsecret = appsecret;
}
}
方式二: @ConfigurationProperties
配置文件
@Component
@ConfigurationProperties(prefix="qywx")
@Data
public class QYWX {
/**凭证 */
private String appid;
/**密钥 */
private String appsecret;
}
@Value和@ConfigurationProperties比较
配置文件yml还是properties他们都能获取到值;
如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;
如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;