Spring Aop 能切入jar包中的某个类的某个方法吗 5C

有看过网上的一些介绍,尝试着把这个类交由Spring去管理,并配置为多例的(经常new),写了测试,bean注入成功,但是切点切不进去,aop这块写的没有问题,自己有测试,求大神指点

1

4个回答

首先你自己new出来的类,是不能进入到spring容器中的,可以使用XML配置的方式或者@Bean注解的方式,注入到Spring容器中;
Spring AOP配置也有两种方式,XML配置方式和注解的方式,其中注解的方式比较灵活,可以实现更多的逻辑

1

完全可以,你要写好表达式pointcut

0
qq_38211633
CR7 回复qq_38211633: 但是广泛大概
12 个月之前 回复
qq_33022993
qq_33022993 表达式写的完全没有问题,自己项目中的和jar包中的表达式一个套路,jar包中的切不进去
12 个月之前 回复
qq_38211633
CR7 666
12 个月之前 回复
qq_38211633
CR7 谢谢你
12 个月之前 回复

自定义一个注解,在方法上使用注解,写一个@Aspect的类,定义pointCut,aroundAdvice

0

new的话 就不行了

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
spring 静态AOP切第三方jar包
示例需求:当我们调用fastjson里面的toJSONString方法时,我们在这个方法上加上环绕通知,众所周知,这个方法是第三方jar包fastjson里面提供的一个方法,我们要做的就是切到这个方法上,然后加环绕通知。步骤如下: 1、写一个服务,该服务使用了fastjson里面的toJSONString方法,代码如下: package com.chhliu.myself.sp
SpringAOP 被切入的方法的参数获取
Map<String, Object> getMethodParam(Class<?> cls, JoinPoint joinPoint) throws Exception { Object[] args = joinPoint.getArgs(); String classType = joinPoint.getTarget().getCl...
Spring AOP切面实现:定义切入点语法和切入点指示符
AOP切入点
[Spring]Spring AOP学习笔记(2)---5种切入方式、AOP优先级及切面表达式的重用
Spring AOP学习笔记(2)---5种切入方式及AOP优先级 一、5种切入方式 学习了下Spring的AOP的五种切入方式,分别是: (1)Before ---在所拦截方法执行前执行; (2)After ---在所拦截方法执行后执行; (3)AfterRuturning  ---在所拦截方法返回值后,执行; (4)AfterThrowing ---当所拦截方法抛出异常
Spring aop切入方法都用不到
每次自己弄aop切入总是按照网上教程配置好总是调用不到,每次还得费时间查询,先记录下来,省得以后再犯同样的错误 使用了spring mvc后,如果把放在application.xml文件中可能会aop无效,最好把它放在dispatcher-servlet.xml文件中
Spring-AOP配置切入点方式及配置各种类型增强
AOP(Aspect-Oriented Programming):面向切面编程 是一种通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态添加功能的技术AOP相关jar包: spring-aop-4.2.5.RELEASE.jar aopalliance-1.0.jar aspectjweaver-1.6.9.jar cglib-nodep-2.1_3.jar使用AOP之前先
AOP切面切入可能遇到的问题
工作中改造原有项目,在AOP切入日志的时候出现了一些意料之外的问题。 这篇文章只讨论通过注解的方式进行切入,不讨论通过配置文件进行切入 @Aspect注解无效 @Aspect对整个项目都无效,而且编译、运行没问题,就是不执行切面中的方法 1、引入包及版本检查:   先查看jar包是否引用完整及版本号是否匹配,以及框架(Spring、SpringMVC、Mybatis;Spring、Spr...
SpringAop编程中切入点表达式为接口类
代理模式分为三种代理 一:静态代理:静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同父类. 二;JDK代理:目标对象必须有接口(通过实现接口类进行代理) 1.代理对象,不需要实现接口 2.代理对象的生成,是利用JDK的API,动态的在内存中构建代理对象(需要我们指定创建代理对象/目标对象实现的接口的类型) 3.动态代理也叫做:JDK代理,接口代理 ...
Spring如何使用aop切入controller层---问题笔记
转载自:http://www.oschina.net/question/222929_124314
spring aop 同一个类中一个方法调用另一个方法,拦截不到被调用的方法
转自:http://huqilong.blog.51cto.com/53638/732088            在开发基于 Spring 的应用的过程中碰到了一个让我困惑了好久的问题,我在一个 Service 类的 doSomething1() 方法中通过 this.doSomething2(); 语句调用了同一个类中的 doSomething2 方法,运行时通过调试发现
类继承/接口实现时Spring AOP切入点注意事项
最近好多人问我说我的我的切入点没有错误啊,怎么不起作用?而且大部分情况都是写AOP切入点时带有类继承或接口实现时出现的问题。在此总结一下,方便后人查阅。 而且建议使用如IntelliJ IDEA、STS或者Eclipse装AspectJ插件自动显示切入点是否匹配目标对象/目标方法。 1、相关类 1.1、抽象基类 我们在写一些项目时,都会抽象一些基类,比如DAO、Service等。
spring aop切面拦截指定类和方法实现流程日志跟踪
spring aop切面拦截指定类和方法实现流程日志跟踪 一般情况下,在不侵入业务代码的情况下,需要做流程日志跟踪是比较合理的 采用springaop切面思想
关于Spring中AOP的几种拦截方式
探讨一下spring拦截器中的数据库操作和事务管理。  大家知道spring中的事务管理是通过AOP代理来实现的,对被代理对象的每个方法进行拦截,在方法执行前启动事务,方法执行完后根据是否有异常和异常的种类进行提交或回滚。  如果要在方法执行前或后或抛出异常后加上一个自己的拦截器,或者一个环绕拦截器,在拦截器中执行一些操作,比如执行一些数据库操作,记录一些信息,这些操作通过调用一个服务类的
AOP的切入点
1.AOP的切入点        连接点(Joint Point)指的是程序运行的某个阶段点,如某个方法的调用、异常抛出等。切入点(Pointcut)是连接点位置的集合,指明触发通知(Advice)的条件。Advice是某个连接点处的处理逻辑,也就是注入到连接点的代码。2.Spring AOP切入点的3种实现    2.1 静态切入        静态切入点只限于给定的方法和目标类,而不考虑方法的...
使用Spring注解AOP(基于自定义注解和包下拦截方法)
一、基于自定义注解@Pointcut方式 1.自定义一个注解package spring4.java.service.aop;import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.
spring aop实现类似代理类和类中的方法(注解实现)
1.可以指定aop的执行次序 2.@within,可以拦截类上有@DataSource注解的类中的所有方法 3.@annotation可以拦截有注解@DataSource的方法 4.两者结合可以实现类似Spring注解事务的效果,即可以在类上注解,让aop代理所有方法,也可以在方法上注解覆盖类的注解。
关于将aop功能封装成jar包后,被其他模块依赖后,aop功能无法实现的问题(包扫描)
在开发中,将aop的功能写到了公共模块后,然后将公共模块封装成jar包,被其他项目所依赖。但是出现aop功能无法实现,是因为未扫描到该包下的类,需要在引用模块的启动类中加入扫描的代码 @ComponentScan(basePackages = {"xxx.xxx.*"}) ...
spring aop 获取拦截类中的属性的值
最近搭建一个ssh的通用架子时,想做个通用日志的拦截方法,可以利用反射获取拦截类中的属性 不多说,上代码 日志类 public class MyLog { public void doBefore(JoinPoint jp) throws SecurityException, NoSuchFieldException, IllegalArgumentException, IllegalAc
Spring Boot使用AOP在指定方法执行完后执行异步处理
1.在pom.xml中加入如下依赖:<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-aop</artifactId></dependency>2.在Spring Boot的applica...
【框架】[Spring]纯Java的方式实现AOP切面(拦截)技术
转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自【大学之旅_谙忆的博客】 AOP理论知识介绍:面向切面编程英文名为:Aspect Oriented Programming。 是可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。其实我们把它理解成动态代理就好理解了!!!下面是一些理论知识:AOP可以说是OOP(面向
JavaAop动态代理工具类
import java.lang.reflect.InvocationHandler; import java.lang.reflect.Method; import java.lang.reflect.Proxy;/** * Aop动态代理工具类 * * @author tang * */ public class AopUtils { /*------------------
spring aop类方法之间调用切面不能匹配
参考:https://docs.spring.io/spring/docs/5.1.3.RELEASE/spring-framework-reference/core.html#aop-proxying
spring aop拦截自定义注解的切入点表达式
@within(com.cxh.study.aop.controller.UserAccessAnnotation) 表示拦截含有com.cxh.study.aop.controller.UserAccessAnnotation这个注解的类中所有方法@annotation(com.cxh.study.aop.controller.UserAccessAnnotation) 表示拦截含有这个注解的
SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)里面的坑之 同一个controller部分方法可以拦截,部分方法拦截不了
拦截方法参考下面的文章即可: http://blog.csdn.net/czmchen/article/details/42392985 按照上面的方法配置好后,到了自己项目里面的时候,结果发现同一个UserController里面,部分方法可以拦截, 有些方法又不能拦截到。一直找不到原因所在。最后还是要感谢InteliJ IDEA这个强大的开发工具的一个功能。
Spring学习总结(16)——Spring AOP实现执行数据库操作前根据业务来动态切换数据源
深刻讨论为什么要读写分离? 为了服务器承载更多的用户?提升了网站的响应速度?分摊数据库服务器的压力?就是为了双机热备又不想浪费备份服务器?上面这些回答,我认为都不是错误的,但也都不是完全正确的。「读写分离」并不是多么神奇的东西,也带不来多么大的性能提升,也许更多的作用的就是数据安全的备份吧。 从一个库到读写分离,从理论上对服务器压力来说是会带来一倍的性能提升,但你仔细思考一下,你的应用服务器真
spring中aop无法切到service内部调用的方法
首先,特别鸣谢周先生做的测试代码。一。场景描述 有一个控制层类OutStoreOverController(简称controller),依赖了XsCustomorExpenseOperateServiceImpl(简称service)类。controller在2个不同方法中分别调用了service的siteDeliverySettlement 和stockDownAccounts方法(分别简称为m...
AOP无法切入同类调用方法的解决办法
@Controller @RequestMapping("/redis") public class RedisAction extends BaseAction { @Autowired private RedisService redisService; @Autowired private SysUserService sysUserService;
Spring Aop 切入 private 方法,导致Spring注入不起效
这几天,同事遇到一个问题,方向Aop 切入Controller,打请求日志,结果调Service层的方法报空指针错误,由于是service没有注入进来。用了@Autowired和@Resource注解都注入不进来。一行一行的检查代码,都没有发现错误,后来只能一个方法一个方法的删除,看到哪里可以运行,结果发现是因为Controller方法是private私有...
接口实现时Spring AOP切入点注意事项
最近好多人问我说我的我的切入点没有错误啊,怎么不起作用?而且大部分情况都是写AOP切入点时带有类继承或接口实现时出现的问题。在此总结一下,方便后人查阅。而且建议使用如IntelliJ IDEA、STS或者Eclipse装AspectJ插件自动显示切入点是否匹配目标对象/目标方法。   1、相关类 1.1、抽象基类 我们在写一些项目时,都会抽象一些基类,比如DAO、Servi
Spring AOP 拦截指定方法
在Spring AOP中,有3个常用的概念,Advices、Pointcut、Advisor,解释如下,Advices:表示一个method执行前或执行后的动作。Pointcut:表示根据method的名字或者正则表达式去拦截一个method。Advisor:Advice和Pointcut组成的独立的单元,并且能够传给proxy factory 对象。package testaop; publi...
spring aop 不能加在controller上,能加在service上
问题如上:  想在controller上加@Aspect  切面 ,但是总不成功,反而在service实现类上添加成功。 原因:  spring-mvc 的配置扫描优先于spring的配置文件,将aop 配置从spring的配置文件 转移到 spring-mvc的配置文件,可以在controller里方法作为切点了.
spring 注解aop切入点表达式怎么排除某些方法
@Pointcut("!execution(* aa.bb..*.set*(..)) and execution(* aa.bb..*.*(..)) ") 如果是这种形式的法执行了很多其他方法         比如init 可以 把   and  换成 &&  就可以解决了。 @Pointcut("execution(* aa.bb..*.*(..)) and !execution(* aa
将aop(面向切面编程)函数,打包成jar包并拦截另一项目中的函数
1.写拦截函数(com.example.serverdemob.controller.*.test1(..)为所要拦截的另一项目中的函数) 2.打包成jar包 点击ok,然后在build工具栏里选择build artifacter,选择对应的jar包编译 3.在另一个项目里(所要拦截的函数所在项目)的resource文件夹下新建lib文件夹,并将jar包复制到lib中 ...
Spring中的AOP(五)——定义切入点和切入点指示符
定义切入点     在前文(点击查看)中使用到的AdviceTest类中同一个切点(即* com.abc.service.*.advice*(..)匹配的连接点)却重复定义了多次,这显然不符合软件设计的原则,为了解决这个问题,AspectJ和Spring都提供了切入点的定义。所谓定义切入点,其实质就是为一个切入点表达式起一个名称,从而允许在多个增强处理中重用该名称。     Spr
spring aop execution表达式(举例)
http://www.cnblogs.com/yanjunwu/p/3996570.html execution 中第一个*表示任何返回类型.  要注意一点,类名需要用一个.占位     再如:   save*(..):以save开头的方法
用Aspectj拦截接口类中的所有方法
先来看一个问题,如果业务代码中有一个类,它实现了某个接口,如下: 接口类: public interface Foo { public void hello(String say); public void goodBye(); } 实现类: public class SimpleFoo implements Foo { public void hel
Spring-AOP 静态普通方法名匹配切面
概述 实例概述StaticMethodMatcherPointcutAdvisor代表一个静态方法匹配切面,它通过StaticMethodMatcherPointcut来定义切点,并通过类过滤和方法名来匹配所定义的切点.实例我们假设我们业务类中 Waiter和 Seller中都有同名的greetTo()方法.业务类Waiterpackage com.xgj.aop.spring.advisor.St
Spring AOP切面类依赖注入的正确姿势
在某些场景下需要将Spring的Bean注入到Spring AOP切面的属性中。 类似下面代码: @Aspect public class SomeAspect { @Inject private SomeService someService; @Before("some_pointcut_here") public void doInterception() { ...
AOP面向切入实现service层嵌入缓存
缓存方法 : Srping+Ehcache 在Service层配置缓存 [url]http://panyongzheng.iteye.com/blog/2234167[/url] AOP面向切入实现service层嵌入缓存 [url]http://my.oschina.net/vill/blog/550715[/url] [code="java"]//放入缓存注解 @Retention...
Spring aop-本类方法调用切面增强失效
在我们使用spring的时候,往往会遇到在本类被aop代理的时候,访问本类其他被代理的方法,发现并没有被代理。那么我们应该如何实现呢xml配置 <!--expose-proxy 暴露代理类--> <aop:aspectj-autoproxy expose-proxy="true"/> <tx:annotation-driven transaction-mana
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 产品经理能培训吗 零基础能学产品经理吗