ManagedProperty для ManagedBean в JSF 2.0 (перевод)

Опубликовал – 25.02.2012

Всем добрый день. В JSF 2.0 аннотация @ManagedProperty используется для dependency injection (DI). Аннотацию можно представить аналогом спрингового @Autowired, за тем лишь исключением, что @ManagedProperty инджектит после вызова конструктора и только при наличие сеттера на инъекционную сущность.

Давайте посмотрим пример, класс MessageBean.java – добавлен в менеджер бинов с именем “message“.

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name="message")
@SessionScoped
public class MessageBean implements Serializable {

	//бизнес логика

}


Класс HelloBean.java – Инджектит бин “message” в “messageBean” филд.

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;

@ManagedBean
@SessionScoped
public class HelloBean implements Serializable {

	@ManagedProperty(value="#{message}")
	private MessageBean messageBean;

	//Обязательный сеттер для инъекции
	public void setMessageBean(MessageBean messageBean) {
		this.messageBean = messageBean;
	}

	//...
}

В этом примере класс HelloBean использует аннотацию для инъекции бина “message” в поле “messageBean” через сеттер метод setMessageBean(…)

Перевод статьи

Рассказать друзьям:
  • Добавить ВКонтакте заметку об этой странице
  • Мой Мир
  • Facebook
  • Twitter
  • Яндекс.Закладки
  • В Живую Ленту Google
  • Сто закладок
Нет комментариев - ManagedProperty для ManagedBean в JSF 2.0 (перевод)

Ответ

Ответить

Comments

Перед отправкой формы: