Как @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

Другие вопросы по тегам