注入Spring java-config中定义的Bean

J2EE 码拜 10年前 (2015-04-14) 1365次浏览 0个评论
public class GeneralTrackBean extends TrackBean{
	private UserDao userDao;

	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}

	public GeneralTrackBean(int uid) {
		this();
		// TODO Auto-generated constructor stub
		this.uid=uid;
	}

	public GeneralTrackBean() {
		super();
		// TODO Auto-generated constructor stub
		//AnnotationConfigApplicationContext  ctx=new AnnotationConfigApplicationContext(JdbcPoolConnection.class);
		//userDao=(UserDao) ctx.getBean("userDao");
	}
       ...
}

1.我用的Spring 3.2.9.如果把默认的构造方法中的注释打开,不用Set方法,就不会报NullPoinerException了,
2.java config中配的没问题
3.我试着给userDao加注解:Autowired,也是报空指针异常
4.我在applicationContext.xml中配置该bean也不起作用

注入Spring java-config中定义的Bean
TrackBean是一个抽像类,只有几个属性和两个抽像方法,抽像方法实现需要用到userDao
注入Spring java-config中定义的Bean
25分
Autowired生效需确认是否扫描到了这个类。
如果是注解实例化这个类那这个必需要无参的构造函数, 在xml中 可以通过property 标签,注入userDao属性你要引用JavaConfig里生成的实例
注入Spring java-config中定义的Bean
25分
在你的配置中有没有配置支持注解,如果没有加上去,如果有了在你的tomcat启动过程中看看有没有注入,最好把你的错误信息贴出来
注入Spring java-config中定义的Bean
是我写的有出入,你们(2楼和3楼)说的都没问题
注入Spring java-config中定义的Bean
25分
我觉得…..
如果要加@autowired的话…那类也要加@component…还要打开<context:annotation-config/>
另外…如果GeneralTrackBean是在java-config中配置的话如果要用到xml中的bean应该要@ImportResource(“classpath:/combean-config.xml”)
注入Spring java-config中定义的Bean
25分
大牛,看看这个http://blog.csdn.net/oathevil/article/details/6661497
注入Spring java-config中定义的Bean
问题不是注解写什么?话说注解bean:无非哪几个,我不希望spring管我GeneralTrackBean?,
注入Spring java-config中定义的Bean
引用 7 楼 xiaofanku 的回复:

问题不是注解写什么?话说注解bean:无非哪几个,我不希望spring管我GeneralTrackBean?,

你是希望自己来管理自己的bean? 而不用spring 来管理? 这个可以有,我觉得我还是太依赖框架了


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明注入Spring java-config中定义的Bean
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!