做一个简单的IOC注入:但就是注不进去,dataSource,userManager都报空指针(applicationContext.xml读入内存没有问题),具体代码如下:
页面中用一个连接访问到servlet,如下:
其中已经配置了dataSource和userManager的set方法
- Java code
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { dataSource.getConnection(); } catch (SQLException e) {} userManager.addUser(null); }
applicationContext.xml
- XML code
<!-- 配置连接池 --> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> </property> <property name="url"> <value>jdbc:mysql://localhost/assignment</value> </property> <property name="username"> <value>root</value> </property> <property name="password"> <value>root</value> </property> </bean> <!-- Servlet中配置UserManager --> <bean id="userManager" class="com.dao.impl.UserManagerImpl" /> <bean name="/addUserServlet" class="com.servlet.addUserServlet"> <property name="dataSource" ref="dataSource"></property> <property name="userManager" ref="userManager"></property> </bean>
web.xml中:
- XML code
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:applicationContext.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
望高手们给看看。急~~~~~~~~~谢谢
------解决方案--------------------------------------------------------
呵呵, 配置问题。
<!-- Servlet中配置UserManager -->
<bean id="userManager" class="com.dao.impl.UserManagerImpl" />
<bean name="/addUserServlet" class="com.servlet.addUserServlet">
<property name="dataSource" ref="dataSource"></property>
<property name="userManager" ref="userManager"></property>
</bean>
===============================================
addUserServlet是在web.xml配置的, 一个请求过来, 是由JSP容器初始化了这个servlet, 所以执行的servlet跟spring配置的那个servlet没点关系, 自然就空指针了呵呵。
------解决方案--------------------------------------------------------