2010-12-15 4 views
6

Чтобы использовать аннотацию @Autowire, объект, в котором вы используете аннотацию, должен поступать из контекста весны.Как @autowire в управляемые bean-файлы jsf

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

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

ответ

11

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

+0

вы говорите, что я должен удалить управляемые бобы из граней-config.xml полностью? – mkoryak 2010-12-16 16:15:38

3

Вы можете использовать @ManagedProperty (# { «someBean»}) для autowire других бобов в JSF фасоли

 Смежные вопросы

  • Нет связанных вопросов^_^