java - 声明我自己的注释

标签 java spring

正如你所知,当我想在 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/

相关文章:

java - MockMultipartFile 无法解析为类型

java - Spring中如何传递多个请求参数?

java - GWT JPA - 无法反序列化响应

java - 热可观察的 RxJava 错误处理

java - SWT 后台线程阻塞 GUI

database - JDBCTemplate with TransactionTemplate and Connection Pool,使用哪个数据源

java - Selenium 在 IE11 浏览器窗口初始化后直接抛出 NoSuchWindowException

java - 贾克斯布 : Two declarations in a wsdl cause a collision in the objectFactory class

mysql - Hibernate-spatial jpa 与 mysql 和 Spring boot 1.5.7 不工作

java - Spring Security JAAS身份验证授权问题