0
我使用@Configuration创建豆类和其他bean的属性设置其属性,例如,可以使用XML配置@Configuration和Bean属性设置注解
@Configuration
public class AppConfig {
@Bean
public MyBean myBean(@Value("#{someObject.value}") double value) {
MyBean myBean = new MyBean();
myBean.setValue(value);
return myBean;
}
@Bean
public SomeObject someObject() {
SomeObject someObject = new SomeObject();
someObject.setValue(1.0);
return someObject;
}
}
然而,很繁琐和不必要的有使用setter方法[例如。 myBean.setValue(值)。相反,我想要这样的东西:
@Configuration
public class AppConfig {
@Bean
@MysticalPropertySetter(name="value", value="#{someObject.value}")
public MyBean myBean() {
return new MyBean();
}
@Bean
@MysticalPropertySetter(name="value", value="1.0", type="java.lang.Double")
public SomeObject someObject() {
return new SomeObject();
}
}
任何这样的可能吗?非常感谢!!!
Spring应该能够在从工厂方法返回之后设置bean *上的属性。我没有看到一个问题,如果还没有实施,这一定是可能的。 –
可能是我错了,但我从未见过或听说过这样的未来。据我所知,Spring只是在工厂方法返回后才将对象注册到容器中。如你所述,它没有给出在返回后设置属性的可能性。你只能传递属性作为工厂方法的输入参数,并像你一样手动设置它们。 (当你使用xml配置时,类似的事情)。 – dimas
顺便说一下,我再次检查了Spring参考文档,发现它们在它们的示例中还使用@Value注释在Configuration类中注入了属性值,然后在工厂方法中将它们手动设置为cteated类。 – dimas