2017-12-12 22 views
0

스프링 빈은 항상 POJO 일 필요가 있습니까?스프링 빈은 항상 POJO입니까

POJO가 아닌 빈을 만드는 다른 방법이 있습니까?

+0

그 밖의 무엇을 기대합니까? –

+0

아직 모릅니다. 그래서 나는이 질문을했습니다. –

+1

POJO = 일반적인 오래된 자바 객체이므로 모든 클래스는 POJO입니다. Spring은 코드에 특별한 구조를 부과하지 않으려합니다. –

답변

4

봄 콩은 무엇이든 될 수 있습니다. 정상적으로 인스턴스화 할 수있는 클래스 (즉, Java Beans 또는 다른 일반 클래스)는 xml 또는 Java-Config를 통해 구성 할 수 있습니다.

더 복잡한 것은 무엇이든 FactoryBean을 통해 생성 할 수 있습니다.

질문에 대답하십시오. 모든 Java 객체는 Spring Bean이 될 수 있습니다.

2

오해가 있다고 생각합니다.
POJO는 Plain Old Java Object를 의미합니다.
프레임 워크 확장으로 인해 느려지지 않는 Java 객체를 나타냅니다.

Spring과 POJO를 연결하여 Bean을 간단하고, 테스트 할 수 있고, 적응력있게 유지할 수 있습니다. 특정 프레임 워크 인터페이스 나 구현과 거의 또는 전혀 관련이 없습니다.
POJO는 일반적으로 XML과 같은 메타 데이터 또는 코드 주석 (빈번하지는 않지만 관련 클래스에 직접 위치 함)을 사용하여 빈을 프레임 워크에 바인딩합니다.

POJO는 빈과 EJB 프레임 워크 간의 강력한 결합을 생성하는 EJB 2.X와 같은 침투성 프레임 워크에 반대 될 수 있습니다.

이제 빈은 POJO 일 수 있습니다.
물론 첫 번째 방법은 설명 된 이유로 승격되어야합니다.
그리고 Spring을 사용하면 일반적으로 POJO 클래스가 독점적으로 POJO 클래스를 사용하지 않아도 POJO가 더 좋고 Spring 클래스가 특정 Spring 클래스 나 인터페이스에 빈 클래스를 연결하도록 강요하지 않는다.
Spring Repository과 같은 Spring 기능 향상의 이점을 얻으려면 Bean 클래스에서 Spring 프레임 워크 클래스와 결합해야하는 경우가 있습니다.
그러나 이러한 경우에는 bean보다 "more"가됩니다.