来源:蜘蛛抓取(WebSpider)
时间:2015-02-01 09:08
标签:
spring下载
求救大侠。。spring aop实现方式 注解和配置有什么区别
[问题点数:40分]
求救大侠。。spring aop实现方式 注解和配置有什么区别
[问题点数:40分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
相关帖子推荐:
本帖子已过去太久远了,不再提供回复功能。实现Spring AOP 应用的几种方式_百度知道
实现Spring AOP 应用的几种方式
我有更好的答案
按默认排序
<.org/schema/beans" target="_blank">value type=".spring开发aop应用有三种方法; + man,仍然表示的是执行 Man 类的所有方法时将触发此方法的执行.framework:pointcut定义了一个切入点:import org。我们这里用的MyE&br>。为了在Spring 配置中使用@AspectJ aspects。注意;fbi":xsi=".org/schema/aop" target="_blank">&br>.aop。”,这一个项目的代码仅仅有两个地方要改,Aspect必须继承MethodBeforeAdvice.AnnotationAwareAspectJAutoProxyCreator&FBI 将欺骗 &<.org/schema/aop" target="_blank"><。首先我们要修改FBI类的源码; + man。一个是人的对象;)?它的意思是表示一种场景;public class Man {private String name.org/2001/XMLSchema-instance" target="_blank"> 活动;&bean id=".springframework,这里是fbi(即ref=”fbi”);&manPointcut&我在泡MM"。四开发环绕通知(Around Advice)AOP 应用@Aspectpublic class FBI {@Around(&FBI 发现&/:&;)) {S&http:config>,方法名可以是任意的.org/schema/tx" target="_blank"> +即将正在进行 "?xml version=".println(",在application context 中定义的任意带有一个@Aspect 切面(拥有@Aspect 标注)的bean 都将被Spring 自动识别并用于配置在Spring AOP.springframework://www.w3;也可以通过在你的application context 中添加如下定义来启用@AspectJ 支持.springframework。".getName() + ".org/schema/aop" target="_blank">} else {Object object =xmlns,需要读者慢慢来学习和理解;expression=&aop,并且确认通知是否如期进行; class=".org/schema/beanshttp.jar 和aspectjrt,MethodAfterAdvice等& method="。定义切入点Pointcut,在添加Spring 开发功能时已经自动的加入了这些类库文件;&bean>.*** 联邦调查局的探员将您的所有行动都记录在案.org/schema/beans/,我现在过的很好;<.springframework://www.& 泡MM;<. /://www:aspect&@Aspectpublic class FBI {@Before("://www。好了.;张三<.getSignature():// http://www,但是这个连接点(JoinPoint)对象带来了所有和这次方法调用有关的信息;System.org/schema/aophttp,自动代理(autoproxying)基于通知是否来自这些切面;beforeExample& + man.*(;),用&/,所以一般要做日志记录的话会带上它;value>。<.)表示Man 类的所有方法,如前一节所示加入了Spring核心和AOP类库后;/value type=&http.*(;这一个bean的定义;execution(* Man:aop=&bean>,另一个则是联邦调查局的探员;&/.1 使用aop 标签实现AOP一节.org/schema/beans/& class=&aop.springframework://www,这里指向fbi 这个bean 类:aspectj-autoproxy/.println("。通过在你的Spring 的配置文件中引入下列元素来启用Spring 对@AspectJ 的支持;).0;/public String getName() {return name:// +FBI& /。当然弱点嘛,会自动的把这些代码翻译成底层的Bean 定义(后台依然会采用ProxyFactoryBean 这样的机制).println(".*(。从这里看到Spring 2;>.0.name =property&>.equals(".org/schema/aop" target="_blank">http.springframework。那么相比较10.12;beans&>.org/schema/beans" target="_blank"> class="://www.*(;&>://>.xsdhttp.springframework.getName() + &你需要在你的应用程序的classpath 中引入两个AspectJ 库;/://www,这样通过欺骗行为;<,那么这个定义到底表示了什么信息呢;civilian".org/schema/beans".ref bean=".)) {S&>.getTarget().springframework.org/schema/aophttp。可以看到使用这种方式后.springframework.org/schema/tx/.list&}return null,一个切入点签名通过一个普通的方法定义来提供。定义切面A +bean id=&1.*(.equals(",无需手工配置了.2版本中通过ProxyFactoryBean来实现aop:在启用@AspectJ 支持的情况下:一.org/schema/tx".A + getName();>.String&);定义,我是张三:Spring 1
非常好!!!
其他类似问题
aop的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁spring AOP配置多个 pointcut报错!_百度知道
spring AOP配置多个 pointcut报错!
;applicationContext_
<!execution(* get*(.xml] is invalid.*(.XmlBeanDefinitionStoreE/ pointcut-ref=&>!execution(* set*(;aop.xml: The entity name must immediately follow the 'checkSecurity".&aop:before method=& class=".))&&.popedomManagerInterceptor":aspect id=".*(.CmsPopedomManageInterceptor&execution(* com.userinfoA 错误信息.springframework.; nes scope=".))&&;WEB-INF/>. /.))&&&bean id=&
&/expression=":pointcut id=".SAXParseException.factory:config>..aop.:config>.:aspect&&>: /
<.memberAaspectIntercept&bean&prototype&pointCut".sax.;/aop: Line 18 in XML document from ServletContext resource [/&'.))&&execution(* ref=". in pointCut&popedomManagerInterceptor"<
了很久!问题都解决了,而在expression里不支持这么写,郁闷啊:&&我要的是同时的意思,和大家分享,也没人给我个满意的答案,应该用and来代替&&就搞定了
提问者采纳
恩知道了 在expression里不支持这么写,应该用and来代替&&就搞定了。
提问者评价
就是这样的哦!
其他类似问题
aop的相关知识
按默认排序
其他3条回答
Line 18 in 在这行找在&符看看
那请问下,定义切面的com.aop.CmsPopedomManageInterceptor这个类里面写的是什么内容
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁JAVA-Spring-Aop拦截ACTION中的方法,但是运行时AOP会拦截我Action中所有的私有属性的一些get,set方法。_百度知道
JAVA-Spring-Aop拦截ACTION中的方法,但是运行时AOP会拦截我Action中所有的私有属性的一些get,set方法。
这是我不希望看到的JAVA-Spring-Aop拦截ACTION中的方法,我想在AOP拦截时能够将我Action中的get set方法放行,但是运行时AOP会拦截我Action中所有的私有属性的一些get。求高人讲解,set方法
提问者采纳
config>:config&
&execution(*) &/:pointcut id=& expression=&Method&
<可以设置具体拦截应用于哪些方法<
我现在不能设置具体拦截哪些方法,现在只能对一个包下面的某些方法进行放行,比如说以GET开头的方法我不对它进行拦截而是直接放行,但是遇到不是以get开头的方法我就必须进行拦截。
&tx:advice id=&txAdvice&
&tx:attributes&
&tx:method name=&add*& &/&
&/tx:attributes& &/tx:advice&是这个意思吗
您这个是事务管理。- -#
其他类似问题
aop的相关知识
按默认排序
其他2条回答
你好。。我也在写Spring拦截Action。。你的问题解决了吗?我也遇到 了同样 的问题。。求助。。。。
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁spring 事务配置问题,出现吧大神。_百度知道
spring 事务配置问题,出现吧大神。
把method2从事务中排除啊,有没有办法;/.;/,在不改动代码的前提下!?本人spring小白;DB3 }如上;/,分别操作三个数据库;/DB2
method3();/,在一个handler中有三个方法!.;/,求大神解释详细啊@Transcational()
public boolean handle(;DB1
method2()??.) {
DB3配置在同一dataSourceA中,但是db2是另一datasourceB?@caoyunhui73 的方法似乎不能解决这个问题啊,如上述的代码的话,因此不能这样干,method2也会去dataSourceB中查询数据,所以有没有方法解决这个问题啊spring事务只支持单数据源,上面的DB1
提问者采纳
在定义method2的地方@Transactional(propagation = Propagation.NOT_SUPPORTED)前提条件,method2应该是实现于一个接口方法。
要配置在接口的地方,还是在具体的方法实现前面加啊?
可能你已经自己找到地方了。我是加在方法实现前面的。
提问者评价
阿里嘎多!!!
其他类似问题
按默认排序
其他2条回答
ref="!-- AOP中连接点
--&//:config&testProintcut&testBean&&
&&/&在spring中配置一个AOP面向切面; id=&
&TestAspect",把调用method2方法替换从你所需要的!-- 替代 --&execution(method2方法绝对路径)":pointcut expression=&aop:aspect&替换的方法名称&/:aspect id=& pointcut-ref=&&
&&testProintcut":around method=& <!&>:config>
呃,不是想替换方法2,而是想更改方法2,不让它走事务,不然的话,它查询数据,只能去事务的数据啊。
重写一个handle2方法不然不改代码无法改逻辑
spring的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁