Как @autowire в управляемый jsf beans

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

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

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

Ответы

Ответ 1

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

Ответ 2

Вы можете использовать @ManagedProperty (# {'someBean'}) для autowire other beans в jsf bean