2014-09-28 5 views
0

Java EE 7의 세션 빈에서 @stateful, @stateless 및 @singleton을 사용하지 않고 기본적으로 어떤 유형의 Bean입니까? 예를 들어,Java EE 7의 어떤 종류의 bean입니까?

@Named 
public class HelloService { 

public String hello() { 
    return "Hello"; 
} 
} 

이 명시 적으로 상태로 주석을하지 않고, 상태 비 저장 또는 싱글 콩인가?

+0

CDI 빈입니다. http://cdi-spec.org/ –

+0

"컨텍스트 집합이 확장 가능한 라이프 사이클 컨텍스트에 연결된 상태 보존 형 개체의 명확한 정의 된 수명주기"라고 말합니다. HelloService가 stateful 세션 빈이라는 것을 의미합니까? – ling

+0

그건 그렇고,이 세션 콩인가요? 주석이 달린 클래스가 세션 빈인지 아닌지 확인하는 방법은 무엇입니까? – ling

답변

2

CDI가 활성화되어 있으면 다른 bean에 주입 할 수있는 간단한 Java Bean (EJB가 아님)이며 EL을 통해 helloService이라는 jsp/jsf 페이지에서 사용할 수 있습니다. 상태 비 저장, 상태 저장 또는 EJB이 아닙니다. EJB는 컨테이너 (트랜잭션, 보안 등)에 의해 관리되는 서비스를 가지고 있지만 CDI 빈은 그렇지 않습니다.

Bean은 @Stateless, @Stateful, @Singleton을 사용하여 주석을 달았거나 설명자 ejb-jar.xml을 사용하여 설명 된 경우 세션 빈입니다.

+0

에서 EJB가되어야합니까? – ling

+0

@ling EJB 세션 빈 (stateless 및 stateful)을 CDI'@ SessionScoped' 빈 (POJO)과 혼동하고 있습니다. 전자는 주로 트랜잭션 비즈니스 로직에 사용되고 후자는 HTTP 세션과 관련된 객체입니다. – Gas

0

Java EE 7에서는 CDI가 beans.xml없이 기본적으로 사용됩니다. 따라서 기본적으로 CDI 관리 빈입니다.

관련 문제