正如你所知,当我想在 Spring 框架中将一个类注入(inject)到我的类的属性中时,我会执行以下操作:
Class sample {
@Autowired
MyService service;
}
或使用@Resource或@Named或其他什么。 但现在我想知道是否可以声明自己的注释(例如 @MyInjection)来执行此操作,此外还可以执行更多操作。
例如,不要搜索应用程序上下文并找到要注入(inject)的适当 bean,而是创建一个类并将此创建的 bean 注入(inject)到类的属性中。
谢谢。
最佳答案
注释基本上只是关于数据的数据。因此,如果您想要处理您的注释,您必须编写一个自定义注释处理器。
我建议您应该研究 Spring 的 AOP 功能以获取更多详细信息:
Aspect Oriented Programming with Spring
使用 AOP,您基本上创建一个注释(在您的情况下),然后配置 Spring 在遇到您的注释时执行一些操作(如果我没记错的话,Spring 使用正则表达式)。这称为切入点。然后,如果 Spring 找到匹配项,它就会运行您的自定义代码,该代码基本上可以是任何内容。
关于java - 声明我自己的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22284854/