首页 > TAG信息列表 > spring-aop

java-Spring AOP-未调用切入点/拦截器

我定义了以下拦截器: @Aspect public class OpenSessionInRequestInterceptor { private Log log = LogFactory.getLog(getClass()); @Autowired private SessionFactory sessionFactory; public OpenSessionInRequestInterceptor() { } @Around("@

切入点内的Spring AOP

package com.vanilla.daoService; @Repository("daoService") public class DaoServiceImpl implements DaoService { @Override public String addStudent(Student student) { //saving new user } @

Spring:无法将模拟注入到带有@Aspect注释的类中

我使用AspectJ创建了Before建议: package test.accesscontrol.permissionchecker; import test.accesscontrol.database.SessionExpiredException; import test.database.UsersDatabaseAccessProvider; import test.common.constants.GlobalConstants; import test.common.model.A

java-AOP Spring @AfterReturning无法正常工作

我正在学习AOP spring,并尝试一些示例.关于@AfterReturning,我了解的是,仅当目标成功返回且与切入点匹配时才调用该方法.但是在我的情况下,如下所示,我有一个切入点,该切入点定义了仅返回String的所有方法,但是它调用了所有void方法以及返回String的方法. 我的建议: @AfterReturnin

没有-javaagent vm选项,Spring AspectJ编织如何工作?

我知道Spring避免使用-javaagent vm选项来使它的AspectJ加载时间能够正常工作,而是依靠类加载器来启动代理. 我认为Java规范规定使用Java代理的唯一方法是通过-javaagent vm选项. 我错了吗?有人可以将我定向到可以澄清我的疑问的官方Java规范/文档吗?解决方法:我发现了一些有关加载Ja

Spring AOP使用bean自动装配创建问题

@Aspect @Component public class ResponseTimeLoggerAspect { private final Logger logger = LoggerFactory.getLogger(this.getClass().getCanonicalName()); @Around("requestHandlerMethod()") public void logResponseTime(ProceedingJoinPoint

Spring MVC处理程序返回后调用另一个方法

我有一个要求,我需要从rest控制器返回一些状态/长值,然后执行代码以发送推送通知. @RequestMapping(value="/create") public String createTicket() throws InterruptedException { // code to create ticket return "ticket created"; // need to call sendPushNoti

java-使用Spring / AspectJ的建筑实施

我有一个Spring项目,它使用注释来应用(除其他外)缓存. 我的理解是,这些注释仅在@Autowired并通过SpringAOP调用时才有效. 这意味着,如果一个方法在同一类中调用另一个方法,则第二个方法上的所有注释都将被忽略,例如 @Cacheable(...) public Animal getAnimal(int id) { return

java-使用通用类型作为切入点的返回类型

我正在使用Spring Boot设置REST API.我将制作一堆@RestControllers,并希望在那些返回特定抽象类(称为模型)的子类型的方法上设置切入点.这些控制器看起来像这样: @RestController public class UserController { @RequestMapping(...) public Person getAllPeople() {

Spring AOP获取基于参数名称的方法参数值

是否可以基于Spring AOP中的参数名称获取方法参数值. MethodSignature signature = (MethodSignature) proceedingJoinPoint.getSignature(); Method method = signature.getMethod(); method.getParameters().getName() // possible to get the paramater names 这种方法将

java-如何使用Spring AOP或AspectJ拦截给定方法中的每个方法调用

class Test { @override public String a(){ b(); d(); } private String b() { c(); } private String c(){ d(); } private String d(){} } 我想拦截从重写方法A()调用的Test类的每个方法,并想知道每个方法(如b(),c())在分别处理一些业务逻辑时花了多少时间. 如何使用Spr

java-Spring AOP在Tomcat和tcserver中不起作用

从单元测试或通过独立应用程序运行时,我有一个方面可以正常工作.但是,当我将其作为Web应用程序的一部分运行并将其托管在Tomcat上时,不应用Aspects. 我的长相看起来像 public class MyAspect { @Around("within(com.service..*)") public Object doLogging(ProceedingJoi

java-在Spring AOP的服务中注入服务的相同实例的最佳方法是什么

我是一个ServiceImpl,带有Spring的@Service构造型注释,并且其中有两个方法,每个方法都带有由Spring拦截的自定义注释. @Service public class ServiceImpl implements Service{ @CustomAnnotation public void method1(){ ... } @Anothe

java-内部方法调用的方面

我有一个需求,我需要围绕内部方法调用放置一个方面,内部是指 class Person{ public void outerMethod() { internalMethod() } // Need an aspect here !! public void internalMethod() {

java-Spring控制器上的Aop注释不起作用

我已经为aop做了注释.当我在任何方法而不是控制器方法上使用它时,它都能很好地工作.但是,当我在控制器的方法上使用它时,控制器将停止工作.它开始为映射提供404 not found错误.我在这里发现了一个类似的问题:Spring 3 MVC @Controller with AOP interceptors?,但我不知道该怎么做.我

java-使用ProxyFactoryBean时发生异常

我正在尝试实现ProxyFactoryBean以创建AOP代理,但出现一些错误.谁能告诉我我要去哪里错了. 代码和异常跟踪如下所示: Perfomer.java public interface Performer { public void perform(); } Juggler.java public class Juggler implements Performer {

Spring Security-使用切入点的全局方法安全性不起作用

我想在我的Web应用程序中应用方法级别的安全性,以便只有授权用户才能访问这些服务层方法. 有两种方法可以实现此目的. 1)使用@Secured批注并在带有配置(< security:global-method-security secure-annotations =“ enabled” />)的dispatcher-servlet.xml文件中批注我的服务层方法.

java-是否有“春季方式”从带注释的接口获取实现?

我想刮一些样板.假设我有一个带有自定义注释的自定义界面: interface MyInterface { @DoSomething("crazy") public String aMethod(int numberOfJumps); } 现在,我可以编写一个InvocationHandler,并生成一个Proxy实现,该实现基于注释和方法参数或多或少地有用,并返回适

java-在Spring 3.1中实例化bean时出错

我有以下课程: public abstract class AbstractBusinessModule { } public class MS3BusinessModule extends AbstractBusinessModule { public MS3BusinessModule(SomeOtherClass value) { } } 以及以下bean声明: <bean id="ms3BusinessModule" class=&q

java-Spring AOP,切入点表达式:具有特定参数的注释

我有使用方法clear()的Aspect类. @Aspect public class Clear { @After("@annotation(org.springframework.transaction.annotation.Transactional)") public void clear() { // do smth } } 现在我想在每次执行带有注解@Transactional的方法后使

java-在每次方法调用之前使用Spring invoke方法

在每个方法调用bean之前,有什么方法可以调用方法吗? 我在春天用硒和黄瓜.因此,所有页面都是单例,并且由于我使用@FindBy批注,因此我想在每次使用页面时调用PageFactory.initElements(driver,object). 使用标准页面对象模式,可以通过在构造函数中调用它来完成. 我要避免的是在每个方

如何在全局范围内更改Spring Data存储库的事务设置?

我将Spring Data用于我的应用程序存储库. interface MyUserRepository extends JpaRepository<MyUser, Long> { … } 默认情况下,Spring数据会为存储库添加事务性的,但要添加Propagation.REQUIRED,如果我没记错的话.我如何为AOP中的所有存储库设置Propagation.MANDATORY.我不想为

从Java手动使用@Transactional方法创建Spring @Service实例

假设有@Service和@Repository接口,如下所示: @Repository public interface OrderDao extends JpaRepository<Order, Integer> { } public interface OrderService { void saveOrder(Order order); } @Service public class OrderServiceImpl implements OrderService {

java-通过在bean中调用方法来调用代理AOP

可以说我有一个用两个方法’foo’和’goo’调用的bean “ goo”标记有AOP拦截呼叫.是否可以在’foo’中编写任何代码以便不直接而是通过bean的代理包装来调用’goo’方法,以激活它的AOP部分? public Class Pojo{ public void foo(){ //what should I write here in order to

java-子类中的spring aop咨询方法

我想为所有扩展或实现特定接口或抽象类的类中的特定方法提供建议.如何使用Spring AOP 2.5实现此目的.解决方法:使用切入点表达式: within(some.package.MyInterface+) 加号()表示“该类/接口和所有子类/实现器”. AspectJ Subtype patterns.