Как @autowire в JSF управляемые бины - PullRequest
6 голосов
/ 16 декабря 2010

Чтобы использовать аннотацию @Autowire, объект, для которого вы используете аннотацию, должен происходить из контекста пружины.

Управляемые bean-компоненты JSF создаются IOC, а не Springs JSF, поэтому я не могу использовать @Autowire, внутри них должны использоваться Face-config.xml и управляемые свойства.

Я уже настроил распознаватель EL, который позволяет использовать в качестве управляемых свойств пружинные бины, я хочу сделать еще один шаг вперед и избавиться от необходимости заходить в файл face-config.xml каждый раз, когда мне нужно что-то связать. Возможно ли это?

Ответы [ 2 ]

12 голосов
/ 16 декабря 2010

Просто аннотируйте ваши управляемые bean-компоненты с помощью @Controller (или @Component) и @Scope("request") (или session) и добавьте <context:component-scan> (если вы этого не сделали), и управляемые bean-компоненты будут автоматически обнаружены как весенние бобы. И поскольку вы уже используете ELResolver, это должно быть так - вы должны иметь возможность использовать @Autowired (или лучше - @Inject, если используете пружину 3.0).

4 голосов
/ 11 ноября 2013

Вы можете использовать @ ManagedProperty (# {'someBean'}) для автоматической передачи других bean-компонентов в bean-компонент jsf

...