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