Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过就地注释配置Springbean?_Java_Spring - Fatal编程技术网

Java 如何通过就地注释配置Springbean?

Java 如何通过就地注释配置Springbean?,java,spring,Java,Spring,假设注入了proptotype范围bean: @Autowire @CustomConfig(foo=100, bar="bar") MyBean myBean; 我希望这将最终导致初始化步骤,如: myBean = new MyBean(); myBean.setFoo(100); myBean.setBar("bar"); // let some standard configuration to be applied here 有可能这样做吗?没有单独的xml/java配置 我不想完全

假设注入了proptotype范围bean:

@Autowire
@CustomConfig(foo=100, bar="bar")
MyBean myBean;
我希望这将最终导致初始化步骤,如:

myBean = new MyBean();
myBean.setFoo(100);
myBean.setBar("bar");
// let some standard configuration to be applied here
有可能这样做吗?没有单独的xml/java配置


我不想完全避免标准的xml/java配置,但我想在它们之外使用这样的设置。Spring 4.

我不知道,为什么不简单地在
@PostConstruct
方法中设置这些属性呢。它们在注释中看起来是静态的,所以只需添加一个
@PostConstruct
方法来设置这些属性。当然,您可以始终创建一个自定义的
BeanPostProcessor
,它检查注释并执行它,但我想用
@PostConstruct
方法执行它会更容易。谢谢!自定义
BeanPostProcessor
看起来很有趣,但我发现它给我们提供了一个糟糕的接口-一个bean及其名称-没有字段/方法可以从中获取注释。也许有先进的后处理器?
@PostConstruct
方法要求我在使用bean的每个类中编写设置代码,这对于任务来说太复杂了-我想为每个应用程序注册一个处理器。也许AspectJ可以做到这一点……当然,它只提供bean和名称。您需要自己扫描bean以查找注释(例如,
@autowired
就是这样工作的)。