Как @autowire в управляемые бобы jsf
Чтобы использовать аннотацию @Autowire, объект, в котором вы используете аннотацию, должен происходить из контекста Spring.
Управляемые bean-компоненты JSF создаются IOC, а не Springs JSF, поэтому я не могу использовать @Autowire, в них должны использоваться лица-config.xml и управляемые свойства.
Я уже настроил распознаватель EL, который позволяет использовать в качестве управляемых свойств пружинные бины. Я хочу сделать еще один шаг вперед и избавиться от необходимости заходить в файл face-config.xml каждый раз, когда мне нужно что-то связать автоматически. Это возможно?
2 ответа
Просто аннотируйте ваши управляемые бобы @Controller
(или же @Component
), а также @Scope("request")
(или же session
) и добавить <context:component-scan>
(если вы этого не сделали), и управляемые бины будут автоматически обнаружены как бобы весны. И поскольку вы уже используете ELResolver, это должно быть так - вы должны быть в состоянии использовать @Autowired
(или лучше - @Inject
, если используется пружина 3.0).
Вы можете использовать @ManagedProperty(#{'someBean'}) для автоматической передачи других bean-компонентов в bean-компонент jsf