遇到的问题是,业务逻辑层的组件好像未能注入到action组件中去,因为运行时,在action组件中就业务逻辑层的组件为空,从而导致空指针异常,现在要解决的是如何将其注入。
我的配置文件如下:beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<context:component-scan base-package="com.ocean.dao"></context:component-scan>
<context:component-scan base-package="com.ocean.service"></context:component-scan>
<context:component-scan base-package="com.ocean.action"></context:component-scan>
<context:annotation-config></context:annotation-config>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/design"/>
<property name="username" value="root"/>
<property name="password" value="111111"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" >
<property name="dataSource" ref="dataSource"/>
<property name="mappingResources">
<list>
<value>com/ocean/model/Course.hbm.xml</value>
<value>com/ocean/model/Manager.hbm.xml</value>
<value>com/ocean/model/Student.hbm.xml</value>
<value>com/ocean/model/Teacher.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<!--下边是将sessionFactory注入到dao层的组件中去-->
<bean id="managerdao" class="com.ocean.dao.impl.ManagerDaoHibernate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!--下边是将dao层的组件注入到业务逻辑层中去--> <bean id="managerservice" class="com.ocean.service.impl.MangerServiceImpl">
<property name="managerdao" ref="managerdao"></property>
</bean>
<!--下边是将业务逻辑层的组件注入action层中去-->
<bean id="loginaction" class="com.ocean.action.LoginAction">
<property name="mgr" ref="managerservice"></property>
</bean>
</beans>在对应的代码中也已经添加了对应接受注入的set方法。不知道我的上面这个配置文件有没问题,麻烦各位大侠看看,谢谢
我的配置文件如下:beans.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<context:component-scan base-package="com.ocean.dao"></context:component-scan>
<context:component-scan base-package="com.ocean.service"></context:component-scan>
<context:component-scan base-package="com.ocean.action"></context:component-scan>
<context:annotation-config></context:annotation-config>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/design"/>
<property name="username" value="root"/>
<property name="password" value="111111"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" >
<property name="dataSource" ref="dataSource"/>
<property name="mappingResources">
<list>
<value>com/ocean/model/Course.hbm.xml</value>
<value>com/ocean/model/Manager.hbm.xml</value>
<value>com/ocean/model/Student.hbm.xml</value>
<value>com/ocean/model/Teacher.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
<!--下边是将sessionFactory注入到dao层的组件中去-->
<bean id="managerdao" class="com.ocean.dao.impl.ManagerDaoHibernate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!--下边是将dao层的组件注入到业务逻辑层中去--> <bean id="managerservice" class="com.ocean.service.impl.MangerServiceImpl">
<property name="managerdao" ref="managerdao"></property>
</bean>
<!--下边是将业务逻辑层的组件注入action层中去-->
<bean id="loginaction" class="com.ocean.action.LoginAction">
<property name="mgr" ref="managerservice"></property>
</bean>
</beans>在对应的代码中也已经添加了对应接受注入的set方法。不知道我的上面这个配置文件有没问题,麻烦各位大侠看看,谢谢
解决方案 »
- 数据库中有几百万数据 查询的时候List集合最多可以存多少
- 如何在list中删除我指定的对象
- java.net.ProtocolException: EOF after reading only...
- 我的weblogic报如下错误,困扰我一上午了,谁帮忙看看!不胜感激
- weblogic server10 JNDI 创建的DataSource对象,有时能连上,有时在取DataSource对象是抛异常
- hibernate缓存问题?
- 大牛来讲一下在java里调用webservices方式吧
- 关于实体Bean调用已存在的应用程序
- ENTITY EJB是否类似分布系统上的全局变量
- 谁能用最经典的语言概括一下EJB和普通的bean有什么区别,我现在用最快的方法该怎样学?
- java类中包含自身,求高手指点!
- weblogic console部署war包 web-inf/classes下的文件丢失?
在struts.xml中<constants name="springobject(忘了,嗖嗖)" value="spring"/>
对于struts1,这种配置无效。
一楼第二行能解释清楚点啊,本人刚学ssh框架,谢谢
第一句话的意思是 你在你的bean.xml中把业务逻辑层注入到action中。<!--下边是将dao层的组件注入到业务逻辑层中去--><bean id="managerservice" class="com.ocean.service.impl.MangerServiceImpl">
<property name="managerdao" ref="managerdao"></property>
</bean>
<!--下边是将业务逻辑层的组件注入action层中去-->
<bean id="loginaction" class="com.ocean.action.LoginAction">
<property name="mgr" ref="managerservice"></property>
</bean>注意红色那一行, 属性name的值应该与你com.ocean.action.LoginAction中定义的MangerService类型的字段名要一样,也就是说你在 LoginAction 要定义一下:private MangerService mgr;并加上get、set方法,这样才算是注入进去。