spring 中注入的对象为空
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring 中注入的对象为空相关的知识,希望对你有一定的参考价值。
求高手指点: 具体代码:
spring的配置文件:
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName"
value="com.mysql.jdbc.Driver">
</property>
<property name="url"
value="jdbc:mysql://localhost:3306/wangzhan01">
</property>
<property name="username" value="root"></property>
<property name="password" value="admin"></property>
</bean>
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"></ref>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
</props>
</property>
</bean>
<bean id="newsService" class="com.wangzhan.service.NewsServiceBMImpl">
<property name="newsDao" ref="newsDao"></property>
</bean>
<bean id="newsDao" class="com.wangzhan.dao.NewsDaoImpl"></bean>
<bean id="addNews" class="com.wangzhan.news.back.AddNews">
<property name="newsService" ref="newsService"></property>
</bean>
==================================================================
具体java代码:
private News news;
private NewsService newsService;
public News getNews()
return news;
public void setNews(News news)
this.news = news;
public NewsService getNewsService()
return newsService;
public void setNewsService(NewsService newsService)
this.newsService = newsService;
public String addNews()
news.setId(5);
newsService.saveNews(news);
return SUCCESS;
就是newsService.saveNews(news)报的:
java.lang.NullPointerException
newsService是null
=================================
web.xml:
<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>
另外,请检查spring配置文件,autowire方式是否争取,属性名称和方法名是否正确 参考技术C newsDao这个有声明吗?
继承一个抽象类,并实例化抽象类中定义的方法,这个方法返回spring注入的一个对象,值一直为空?
class Action extends AbstractObj
@Resource
private Object obj;
....
@Override
public Object getObj()
//这个地方返回的一直是null,求大神呀
return obj;
2、在action里面有没有给obj这个属性set和get方法,set方法一定要名否则不能注入。
3、或者你在定义action那个bean里就初始化这个属性,但是还是一定要先定义obj这个bean先,然后通过<property name="obj(属性名)" ref="obj"/> ref是引用你前面定义的obj那个bean这样,属性obj的值就被注入了。 参考技术A 真心不会答 参考技术B 你Action类注入到IoC容器了吗?
以上是关于spring 中注入的对象为空的主要内容,如果未能解决你的问题,请参考以下文章