我想在java方法中添加一個監聽器,並且我看到了註釋@Interceptors
和@AroundInvoke
。 我想在經典的java項目中使用它,但所有教程都向我展示了Java EE項目。攔截器API:在一個經典的java項目中
可能嗎?
我想在java方法中添加一個監聽器,並且我看到了註釋@Interceptors
和@AroundInvoke
。 我想在經典的java項目中使用它,但所有教程都向我展示了Java EE項目。攔截器API:在一個經典的java項目中
可能嗎?
我不這麼認爲,那些是由Java EE容器管理的。 一個簡單的方法是在你的類的所有實例上創建一個代理/包裝器。 或者使用Spring AOP(但你必須配置Spring)或AspectJ。 檢查了這一點:http://www.javacodegeeks.com/2012/06/simple-introduction-to-aop.html
這裏閱讀文檔:https://docs.oracle.com/javaee/6/tutorial/doc/gkigq.html
攔截器在使用Java EE一起使用,管理類,允許開發人員需要調用相關聯靶材類型的攔截方法,在方法調用一起或生命週期事件。
所以我想你的問題的答案是否定的。
Interceptor是基於AOP(面向方面編程)的DI(依賴注入)概念。
由於Java-ee 6,您有一個名爲CDI的輕量級DI容器。 可以使用CDI在Java-SE背景下,如果你提供允許獨立部署像JBoss焊接實現:
見Is it possible to use javax.interceptor in a Java SE environment?
否則,你可以使用Spring,它也提供了一個輕量級DI容器與相同類型的功能,可能更適合java-se上下文的使用。