복붙노트

[SPRING] Spring 프레임 워크에서 새로운 키워드의 역할

SPRING

Spring 프레임 워크에서 새로운 키워드의 역할

Spring Framework에서는 비즈니스 로직에 사용할 객체를 만드는 데 콩이 선호되는 것처럼 보입니다.

그래서 제 간단한 이해에서 차이점은 다음과 같습니다 :

// Plain ol' Java
Foo f = new Foo();

// Using beans in Spring Framework
Foo f = FooFactory.get();

원칙적으로 @Configuration 클래스와 @Bean 정의 외부의 메소드에서 개발자는 bean을 사용하여 객체 만 가져야한다고 말하는 것은 간단합니다. 특히, 내가 신선한 객체를 원할 경우, 새 키워드를 직접 사용하는 대신 프로토 타입 bean을 삽입해야합니까?

Spring 규약을 따르고 있는지 확실하지 않은 코드의 한 예가 아래에 나와 있습니다.

// Construct a new object that will be created in the database
RecordDto record = new RecordDto();

// Or should I be using some bean factory?
RecordDto record = RecordDtoFactory.get();

해결법

  1. ==============================

    1.이 기사를 사랑하는 마틴 파울러에게서 읽으십시오. 응용 프로그램의 일부 구성 요소가 일부 기능을 완료하기 위해 다른 구성 요소에 종속되어있을 때 IOC 개념이 유용하다고 생각합니다. IoC 컨테이너는 소프트웨어 구성 요소의 생성 및 수명주기 관리를 담당하고 이러한 구성 요소 인스턴스에 수동으로 액세스하는 대신 종속 구성 요소에 주입합니다.

    이 기사를 사랑하는 마틴 파울러에게서 읽으십시오. 응용 프로그램의 일부 구성 요소가 일부 기능을 완료하기 위해 다른 구성 요소에 종속되어있을 때 IOC 개념이 유용하다고 생각합니다. IoC 컨테이너는 소프트웨어 구성 요소의 생성 및 수명주기 관리를 담당하고 이러한 구성 요소 인스턴스에 수동으로 액세스하는 대신 종속 구성 요소에 주입합니다.

    예를 들어, 일부 서비스가 DAO의 인스턴스를 요구할 때, DAO 인스턴스를 생성하는 대신 컨테이너에서 가져옵니다.

    그러나 DTO의 경우, 그들은 단지 데이터를 보유 할 것이고 그것은 실제 의존성이 아닙니다. 그래서 나는이 경우에 "new"를 사용하는 것이 더 낫다고 생각한다.

  2. from https://stackoverflow.com/questions/36776547/role-of-new-keyword-in-spring-framework by cc-by-sa and MIT license