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

来源:互联网  时间:2016/6/28 7:04:34

关于网友提出的“ 如何在Spring中使用注解来实现bean与bean的依赖注入”问题疑问,本网通过在网上对“ 如何在Spring中使用注解来实现bean与bean的依赖注入”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 如何在Spring中使用注解来实现bean与bean的依赖注入
描述:

springbean注解

请教一下大家,如何在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 {      // ... ... }
哪位老大帮帮忙,非常感谢。
解决方案1:

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

解决方案2:

   @Resource(name="parentServiceImpl")     private ParentService parentService;

解决方案3:

不对,你用的是字段注入,不是setter注入。 这样的话再看看吧,我也不清楚,一般不要覆写默认的构造函数,如果有有参构造,再加上一个默认无参构造,但是别引用成员。

解决方案4:

你采用的是settert注入,setter注入的话是先调用默认的构造函数,然后调用setter方法,所以你的默认的构造函数里为空指针。 换一个带参数的构造函数吧。一般不要覆写默认的构造函数。

解决方案5:

引用 6 楼 arenc 的回复:
@Resource(name="parentServiceImpl")     private ParentService parentService;
+1这中注入方式你要有setter方法 解决方案6:

问一下,你是新学还是刚入门还是中级了呢? 网上最基本的spring例子很多的,多看看,看不懂的时候百度一下,还不懂那就问。

上一篇jsp的静态包含问题,被包含的页面报错
下一篇”推荐“功能怎么做,就这两个字让我如何下手,求帮助
明星图片
相关文章
《 如何在Spring中使用注解来实现bean与bean的依赖注入》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)