spring注入问题空指针

这是我的spring的XML[code="java"]<context:annotation-config/><!--配置数据源--><beanid="dataSourc... 这是我的spring的XML
[code="java"]
<context:annotation-config/>
<!--配置数据源-->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver" />
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/users"/>
<property name="user" value="root"/>
<property name="password" value="123"/>
<property name="maxPoolSize" value="40"/>
<property name="minPoolSize" value="1"/>
<property name="initialPoolSize" value="1"/>
<property name="maxIdleTime" value="20"/>
<property name="acquireIncrement" value="5"/>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mappingResources">
<list>
<value>cn/com/detech/entity/TUser.hbm.xml </value>
<value>cn/com/detech/entity/TUserinfo.hbm.xml </value>
</list>
</property>
<property name="hibernateProperties">
<value>
hibernate.dialect=org.hibernate.dialect.MySQLDialect
hibernate.hbm2ddl.auto=update
hibernate.show_sql=true
hibernate.format_sql=true
</value>
</property>
</bean>
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" > </property>
</bean>
<tx:annotation-driven transaction-manager="txManager"/>
<bean id="userService" class="cn.com.detech.userdao.impl.UserService">
</bean>
[/code]
接下来是有一个接口
public interface UserBean;
有一个类实现这个接口
[code="java"]public class UserService implements UserBean {
//获取在spring容器里面的数据源
@Resource private SessionFactory sessionFactory;
public TUserinfo getUser(Integer userId) {
System.out.println("这里调用的是UserService的查找用户方法");
System.out.println(sessionFactory);
TUser tu=(TUser) sessionFactory.getCurrentSession().get(TUser.class, userId);
Iterator it=tu.getTUserinfos().iterator();
return (TUserinfo) it.next();
}[

[/code]
下面有一个Action
[code="java"]
public class UserAction {
@Resource UserBean userService;
private TUser tu=new TUser();
private TUserinfo tui=new TUserinfo();
public String login(){
System.out.println(userService+"aaaa");
System.out.println(userService.getUser(1).getRealName());
String nextPage="ssss";
return nextPage;
}
[/code]

然后在Jsp页面我做了个测试代码是这样的:

<%

UserAction userAction=new UserAction();
userAction.login();
%>
现在得问题就是说是空指针问题。。。我或许哪里错了。。但是这两天一直在找这个问题。。
拜托大家了。。。
展开
 我来答
lydawen
推荐于2016-07-22 · TA获得超过3181个赞
知道大有可为答主
回答量:2678
采纳率:50%
帮助的人:1492万
展开全部
这个问题很明显,你使用了spring,但你的bean并不是从spring容器中拿到。
正常的应该是:
UserAction userAction=(UserAction )ApplicationContext.getBean("userAction");

这样才是属于spring管理,它才能进行依赖注入。
至于怎么拿到ApplicationContext,你查一下~。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dywlhnt
2010-03-24 · TA获得超过204个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:99.6万
展开全部
<bean id="userService" class="cn.com.detech.userdao.impl.UserService">
</bean>

@Resource UserBean userService;
确认这注解能通过接口注入吗
你可以试下
@Resource UserService userService;
如果还不行 那我就错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我才是ak47
2010-03-24 · TA获得超过167个赞
知道小有建树答主
回答量:107
采纳率:0%
帮助的人:0
展开全部
你要说明白到底是哪个地方报空指针啊
报错的时候会有的提示的,哪个文件第几行第几列
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式