-Tarn
2017-10-23 08:16
采纳率: 75%
浏览 3.3k
已采纳

关于spring ioc 注解注入参数的问题

问下大神们spring ioc 注解注入如何传参数?像@controller或@Service这种注解 如果其注解的类构造函数必须要传参的话 注解是否能将其实例化并放入容器中?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 飘逸的小兔叽 2017-10-23 08:47
    已采纳

    你可以看看这个博客,讲的很详细http://blog.csdn.net/qq_35065439/article/details/78320461

    点赞 评论
  • 「已注销」 2017-10-23 08:49

    如果需要参数的话就需要在类中声明了,比如
    @Autowared
    private BeanService beanService;
    这样声明,@Autowared注解不加其他声明则默认就是强制依赖,比如Controller依赖Service,Service依赖DAO,在Spring容器生成Bean的时候就会从DAO->Service->Controller逐层生成bean,上一层依赖下一层,如果Service生成失败了,则Controller也一定无法实例化。

    点赞 评论
  • lvxiucai 2017-10-23 09:03

    可以,需要什么参数,就定义什么属性,另注意Controller层注入service时务必加Autowired注解

    点赞 评论
  • qing_xi_yxq 2017-10-23 09:04

    不是很懂你的问题,我说下自己的理解,供参考啊。一、注解只能加入如name之类的属性,不能传入参数,注解就是一个标记,提醒spring容器的;二、假设有个LoginController类添加了@Controller注解;@Controller等注解只是提醒spring容器,LoginController类是一个在spring容器中配置的bea类,spring容器会按照你的配置生成相应的实;三,如果你在spring的配置文件中,对该Person类配置了构造器注入方式,如,spring会自动完成你构造器的MyBean这个类的初始化,并放在你的Person()构造函数中生成最终的Person实例(前提是你的MyBean类已经配置好了,并且Person类的构造函数也是写好的)

    点赞 评论

相关推荐 更多相似问题