我想在java方法上添加一个监听器,我看到了注释@Interceptors
和@AroundInvoke
。
我想在经典的Java项目中使用它,但所有教程都向我展示了Java EE项目。
有可能吗?
答案 0 :(得分:0)
我不这么认为,这些是由Java EE容器管理的。 一种简单的方法是在类的所有实例上创建代理/包装器。 或者使用Spring AOP(但您必须配置Spring)或AspectJ。 看看这个:http://www.javacodegeeks.com/2012/06/simple-introduction-to-aop.html
答案 1 :(得分:0)
拦截器是基于AOP(面向方面编程)的DI(依赖注入)概念。
从Java-ee 6开始,你有一个名为CDI的轻量级DI容器。 如果您提供允许独立部署(如jboss weld)的实现,则可以在java-se上下文中使用CDI:
请参阅Is it possible to use javax.interceptor in a Java SE environment?
否则,你可以使用spring,它也提供了一个具有相同功能的轻量级DI容器,可能更适合java-se上下文使用。
答案 2 :(得分:-1)
在此处阅读文档:https://docs.oracle.com/javaee/6/tutorial/doc/gkigq.html
拦截器与Java EE托管类结合使用,允许开发人员在关联的目标类上调用拦截器方法,并结合方法调用或生命周期事件。
所以我猜你问题的答案是否定的。