【发布时间】:2016-03-28 03:42:48
【问题描述】:
是否可以在运行时使用 Spring 中的注解将原型范围 bean 的新实例注入控制器的方法参数?因此,无论何时调用该方法,Spring 都会注入符合条件的 bean 作为其参数,就像注入 @ModelAttribute 一样。据我所知,@Autowired 字段仅在创建上下文时注入一次。从上下文的工厂方法中获取 bean 不是一种选择,因为这会将框架暴露给其组件,从而违反好莱坞原则。
我几乎读完了 Spring in Action 这本书,并且已经阅读了很多 Spring Reference,但没有找到任何关于这个问题的信息。
【问题讨论】:
-
你为什么要在那里注入原型?这似乎是一种代码气味。 (如果它真的是合理的,你总是可以注入一个工厂而不是生产的 bean。)
标签: java spring dependency-injection inversion-of-control autowired