关于SSH注入的时候一些问题想请教下大家,我是一个小菜鸟,求高手帮我解惑
在applicationContext.xml里我已经注入了bean了!!----------------------------<beanid="transaction...
在applicationContext.xml 里我已经注入了bean了!!
----------------------------
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="wlManagerMethod"
expression="execution (* com.wl.service.*.*(..))" />
<aop:advisor advice-ref="txAdvice"
pointcut-ref="wlManagerMethod" />
</aop:config>
<bean id="userManager" class="com.wl.service.impl.UserImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
---------------------------------------------------------------------------
然后 在Action里我调用了这个userManager!!但是总报错空指针异常 实在是不知道什么原因!!很纳闷啊
然后我网上搜了下 说要初始化这个service 才能用
然后在Action里加上了
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
userManager = (UserManager)ctx.getBean("userManager");
然后这个时候 这个userManager 也就不是null了 也就可以用userManager 里的方法了,这是 这是为什么??我的service不是交给spring哥哥管理了呢,怎么我在方法里还要在重申一遍spring的呢?好奇怪啊 求大神解释啊?! 展开
----------------------------
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref local="sessionFactory" />
</property>
</bean>
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="*" propagation="REQUIRED" />
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="wlManagerMethod"
expression="execution (* com.wl.service.*.*(..))" />
<aop:advisor advice-ref="txAdvice"
pointcut-ref="wlManagerMethod" />
</aop:config>
<bean id="userManager" class="com.wl.service.impl.UserImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
---------------------------------------------------------------------------
然后 在Action里我调用了这个userManager!!但是总报错空指针异常 实在是不知道什么原因!!很纳闷啊
然后我网上搜了下 说要初始化这个service 才能用
然后在Action里加上了
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
userManager = (UserManager)ctx.getBean("userManager");
然后这个时候 这个userManager 也就不是null了 也就可以用userManager 里的方法了,这是 这是为什么??我的service不是交给spring哥哥管理了呢,怎么我在方法里还要在重申一遍spring的呢?好奇怪啊 求大神解释啊?! 展开
1个回答
展开全部
你用ctx.getBean("userManager")取到了对象就是已经交给spring管理了啊。交给spring管理的class要取出来就是通过这种方法。如果想要Spring自动注入userManager到你的Action里,需要在spring配置文件里声明:
<bean id="你的action" class="你的action class">
<property name="userManager" ref="userManager"></property>
</bean>
然后在你的Action里设置setUserManager()方法。
<bean id="你的action" class="你的action class">
<property name="userManager" ref="userManager"></property>
</bean>
然后在你的Action里设置setUserManager()方法。
追问
果然如此啊!!大神哦!!谢谢 我是整了半天都没搞出来 您这边随便一指点咱就豁然开朗了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询