在具有私有构造函数的类中使用@Value或@Autowired注解,可以通过以下步骤实现:
public class MyClass {
private String myProperty;
private MyClass() {
// 私有构造函数
}
// Getter和Setter方法
public String getMyProperty() {
return myProperty;
}
public void setMyProperty(String myProperty) {
this.myProperty = myProperty;
}
}
my.property=value
@Configuration
public class AppConfig {
@Value("${my.property}")
private String myPropertyValue;
@Bean
public MyClass myClass() {
MyClass myClass = new MyClass();
myClass.setMyProperty(myPropertyValue);
return myClass;
}
}
在上述示例中,@Value注解用于将配置文件中的属性值注入到myPropertyValue变量中,然后通过调用myClass.setMyProperty()方法将属性值设置到私有构造函数的类中。
注意:使用@Autowired注解时,需要确保配置文件中的属性值与私有构造函数的类的属性名称一致。
这种方式可以在具有私有构造函数的类中使用@Value或@Autowired注解,并将属性值注入到类中,实现属性的自动注入和配置。
领取专属 10元无门槛券
手把手带您无忧上云