ssh2使用aop后属性注入失败

问题描述

spring配置文件<?xmlversion="1.0"encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsd"><!--注入配置文件--><!--<context:property-placeholderlocation="classpath:*.properties"/>--><!--使用annotation自动注册bean,并保证@Required,@Autowired的属性被注入--><context:component-scanbase-package="com.sun.oa"/><beanid="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><propertyname="configLocation"value="classpath:hibernate.cfg.xml"></property></bean><beanid="transactionManager"class="org.springframework.orm.hibernate3.HibernateTransactionManager"><propertyname="sessionFactory"ref="sessionFactory"></property></bean><tx:adviceid="advice"transaction-manager="transactionManager"><tx:attributes><tx:methodname="save*"isolation="DEFAULT"propagation="REQUIRED"read-only="false"/><tx:methodname="update*"isolation="DEFAULT"propagation="REQUIRED"read-only="false"/><tx:methodname="delete*"isolation="DEFAULT"propagation="REQUIRED"read-only="false"/><tx:methodname="*"read-only="true"/></tx:attributes></tx:advice><aop:config><aop:pointcutexpression="execution(*com.sun.oa.service..*.*(..))"id="pointcut"/><aop:advisoradvice-ref="advice"pointcut-ref="pointcut"/></aop:config><!--加了下面后注入失败--><aop:configproxy-target-class="true"><aop:aspectref="operactionInterceptor"id="operactionInterceptor"><aop:pointcutexpression="execution(*com.sun.oa.action.*.*())"id="logpointcut"/><aop:aroundpointcut-ref="logpointcut"method="interceptor"/></aop:aspect></aop:config></beans>下面是interceptorpackagecom.sun.oa.aop;importjava.text.DateFormat;importjava.text.SimpleDateFormat;importjava.util.Date;importorg.apache.log4j.Logger;importorg.aspectj.lang.ProceedingJoinPoint;importorg.springframework.stereotype.Component;@ComponentpublicclassOperactionInterceptor{privatestaticLoggerlogger=Logger.getLogger(OperactionInterceptor.class);publicvoidinterceptor(ProceedingJoinPointjp){Stringmethod=jp.getSignature().getClass().getName();Stringaction=jp.getTarget().getClass().getName();longbefore=System.currentTimeMillis();try{jp.proceed();}catch(Throwablee){//TODOAuto-generatedcatchblocke.printStackTrace();}longafter=System.currentTimeMillis();DateFormatdf=newSimpleDateFormat("yyyy-MM-dd");logger.info(df.format(newDate())+"----Operaction:耗时["+(after-before)+"],action["+action+"],method["+method+"]");}}////////////////////////下面是actionpackagecom.sun.oa.action;importorg.apache.log4j.Logger;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.context.annotation.Scope;importorg.springframework.stereotype.Component;importcom.opensymphony.xwork2.ActionSupport;importcom.sun.oa.domain.TestUser;importcom.sun.oa.service.inter.ITestUserService;@Component@Scope("prototype")publicclassTestUserActionextendsActionSupport{privatestaticfinallongserialVersionUID=1L;//////////下面注入失败null@AutowiredprivateITestUserServicetestUserService;privatestaticLoggerlogger=Logger.getLogger(TestUserAction.class);publicStringsave(){logger.info("--------------------------------------------");TestUsertu=newTestUser();tu.setAddress("北苑路北");tu.setName("泰岳大厦");testUserService.save(tu);return"save";}}

解决方案

解决方案二:
struts.xml没有配置<constantname="struts.objectFactory.spring.autoWire.alwaysRespect"value="true"/>

时间: 2024-11-02 11:21:25

ssh2使用aop后属性注入失败的相关文章

spring-SSH整合 属性对象注入 失败NullPointerException

问题描述 SSH整合 属性对象注入 失败NullPointerException SSH框架整合,Spring只使用核心模块IOCapplicationContext.xml配置如下: <bean id=""userServiceImpl"" class=""com.founder.ssj.service.impl.UserServiceImpl"" ></bean><bean id="

struts 2-Struts和Spring整合后访问Action注入失败

问题描述 Struts和Spring整合后访问Action注入失败 如题,刚刚接触SSH,不知道是哪配置出问题了, 蛋疼的是单元测试中用ClassPathXmlApplicationContext读取spring配置文件却通过了- - Struts2配置: <!-- 设置浏览器是否缓存静态内容,默认值为true(生产环境下使用),开发阶段最好关闭 --> <!-- 当struts的配置文件修改后,系统是否自动重新加载该文件,默认值为false(生产环境下使用),开发阶段最好打开 --&g

elasticsearch-Elasticsearch修改集群名字后索引数据失败

问题描述 Elasticsearch修改集群名字后索引数据失败 我在公司局域网里面搭了两个es,默认的cluster.name都是elasticsearch,他们自动建集群了,然而这不是想要的结果,我要他们各自同步不同的数据,于是我改了elasticsearch.yml文件,只修改了cluster.name值,但是改了之后同步脚本执行不了,同步脚本如下: echo '{ "type" : "jdbc", "jdbc" : { "url&

注解失败-Spring整合Mybatis关于Dao注入失败的问题求解

问题描述 Spring整合Mybatis关于Dao注入失败的问题求解 抛出异常 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'adminService': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreat

ssh整合-S2SH集成中使用AOP后查询结果为NULL?。。请教高手解答一下

问题描述 S2SH集成中使用AOP后查询结果为NULL?..请教高手解答一下 做SSH集成,用得是spring的声明式事务和hibernate做的集成. 以下是spring配置文件中关于AOP的配置: <!-- 配置aop拦截声明类 --> <bean id = "myAop" class="com.acc.aop.MyAop"></bean> <aop:config> <aop:pointcut express

Spring中属性注入详解_java

本文演示了int.String.数组.list.set.map.Date等属性的注入. 其中Date类型的注入则是借助了Spring提供的属性编辑器来实现的,首先是用到的五个实体类 package com.jadyer.model; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; /** * 常见属性的注入 * @see 包括int,String,Array,lis

Spring boot将配置属性注入到bean 专题

@ConfigurationProperties和@value都是将外部属性注入到对象 @ConfigurationProperties很方便使用. 比用@value注解好吗? 在特定的方案中是的,这只是一个选择问题 @EnableConfigurationProperties //开启属性注入,有此注解就可以通过@autowired注入, 是配合@ConfigurationProperties使用的.如果没有@EnableConfigurationProperties,则使用@Configur

spring mvc @Autowired 注入失败

问题描述 spring mvc @Autowired 注入失败 2C 配置如下: application-context.xml <?xml version=""1.0"" encoding=""UTF-8""?> xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:aop=""htt

settext-在onActivityResult后设置setText失败

问题描述 在onActivityResult后设置setText失败 我使用 ViewPager+Tabhost 框架. 我在A activity传递 startActivityForResult(B activity,100), 在 B 中传递setResult(200, data); 在A activity中能从B 中获取值:String b = data.getStringExtra("b"); 使用Log也可以看见值. 但是在 A 中使用tv.setText(b); 不能设置值