首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎么在Spring中使用注解来实现bean与bean的依赖注入

2013-02-03 
如何在Spring中使用注解来实现bean与bean的依赖注入请教一下大家,如何在Spring中使用注解来实现bean与bean

如何在Spring中使用注解来实现bean与bean的依赖注入
请教一下大家,如何在Spring中使用注解来实现bean与bean的依赖注入,也就是如何在Child的构造函数里面调用Parent的实例。


@Service
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public class ChildServiceImpl implements ChildService {

    @Resource
    private ParentService parentService;

    public ChildServiceImpl() {
        parentService.run();
        // ... ...
    }
}



@Service
@Transactional(readOnly = true, propagation = Propagation.SUPPORTS)
public class ParentServiceImpl implements ParentService {
     // ... ...
}


哪位老大帮帮忙,非常感谢。 spring bean 注解
[解决办法]
问一下,你是新学还是刚入门还是中级了呢?
网上最基本的spring例子很多的,多看看,看不懂的时候百度一下,还不懂那就问。
[解决办法]
你采用的是settert注入,setter注入的话是先调用默认的构造函数,然后调用setter方法,所以你的默认的构造函数里为空指针。
换一个带参数的构造函数吧。一般不要覆写默认的构造函数。
[解决办法]
不对,你用的是字段注入,不是setter注入。
这样的话再看看吧,我也不清楚,一般不要覆写默认的构造函数,如果有有参构造,再加上一个默认无参构造,但是别引用成员。
[解决办法]
   @Resource(name="parentServiceImpl")
    private ParentService parentService;
[解决办法]
引用:
@Resource(name="parentServiceImpl")
    private ParentService parentService;

+1这中注入方式你要有setter方法
[解决办法]
你的这种写法是不对的,在spring的文档里面有说明,构造函数的调用要早于setter注入和字段注入的,所以在调用构造函数的时候parentService还没有赋值,要在构造函数里面使用parentService,最好在构造函数添加一个参数,使用构造函数注入parentService。

热点排行