如你所知,当我想在spring框架中为类的属性注入一个类时,我会这样做:
Class sample {
@Autowired
MyService service;
}
或使用@Resource或@Named或其他什么。 但现在我想知道如果可能的话,我会声明自己的注释,如@MyInjection来做这些事情,并做更多的事情。
例如,不是搜索应用程序上下文并找到要注入的正确bean,而是创建一个类并将此创建的bean注入class的属性。感谢。
答案 0 :(得分:1)
注释基本上是关于数据的数据。因此,如果您想要处理您的注释,您必须编写自定义注释处理器。
我建议您查看Spring的AOP功能以获取更多详细信息:
Aspect Oriented Programming with Spring
使用AOP,您基本上可以创建一个注释(在您的情况下),然后您将Spring配置为某些,当它碰到您的注释时(如果我记得正确,Spring会使用正则表达式)。这称为 Pointcut 。然后,如果Spring找到匹配项,它将运行您的自定义代码,基本上可以是任何代码。
答案 1 :(得分:0)
我认为你想要的东西可以通过使用Spring的工厂方法来实现,当Spring即将解决一些依赖时,会调用它。 See example希望这有帮助。