java grails 강좌 - 봄 콩은 무엇입니까?




4 Answers

스프링 빈은 Spring 컨테이너에 의해 관리되는 단지 객체 인스턴스이다. 즉, 프레임 워크에 의해 생성되고 유선되어 나중에 가져올 수있는 "bag of objects"(컨테이너)에 저장된다.

"배선"부분은 의존성 주입이 무엇인지에 대한 것이며, 이것이 의미하는 바는 "나는이 것이 필요할 것"이라고 말할 수 있으며, 프레임 워크는 당신에게 적절한 인스턴스를 얻기위한 몇 가지 규칙을 따를 것입니다.

Spring에 익숙하지 않은 사람에게는 Wikipedia Spring의 기사에 멋진 설명이 있다고 생각합니다.

스프링 프레임 워크의 핵심은 리플렉션을 사용하여 Java 객체를 구성하고 관리하는 일관된 방법을 제공하는 제어 컨테이너의 반전입니다. 컨테이너는 특정 오브젝트의 오브젝트 라이프 사이클 관리를 담당합니다. 이러한 오브젝트 작성, 초기화 메소드 호출 및 오브젝트 연결을 구성하여 오브젝트를 구성합니다.

컨테이너로 작성된 오브젝트를 관리 오브젝트 또는 이라고도 합니다 . XML 파일을로드하거나 구성 클래스에서 특정 Java 주석을 감지하여 컨테이너를 구성 할 수 있습니다. 이 데이터 소스에는 bean 작성에 필요한 정보를 제공하는 bean 정의가 있습니다.

종속성 조회 또는 종속성 주입 을 통해 객체를 얻을 수 있습니다. 종속성 조회 는 호출자가 컨테이너 객체에 특정 이름 또는 특정 유형의 객체를 요청하는 패턴입니다. 의존성 주입 은 컨테이너가 생성자, 속성 또는 팩토리 메소드를 통해 이름으로 객체를 다른 객체에 전달하는 패턴입니다.

documentation download tutorial

나는 이해할 수있는 봄 콩에 대한 높은 수준의 정의를 아직 찾지 못하고있다. 나는 Grails의 문서와 책에서 자주 언급되는 것을 볼 수 있지만, 그것이 무엇인지 이해하는 것이 도움이 될 것이라고 나는 생각한다. 그렇다면 봄 콩은 무엇입니까? 어떻게 사용할 수 있습니까? 그들은 Dependency Injection과 관련이 있습니까?




먼저 봄을 이해합시다.

Spring은 가볍고 유연한 프레임 워크입니다.

유추:

Bean : Spring Container에서 생성되고, 관리되고, 파괴되는 객체이다. 컨트롤의 반전이라고하는 메타 데이터 (xml 또는 주석)를 통해 Spring Container에 객체를 삽입 할 수 있습니다.

유추 : 농부가 씨앗 (또는 콩)으로 경작하는 농지를 가지고 있다고 가정합시다. 여기서 Farmer는 Spring Framework, Farmland land는 Spring Container, Beans는 Spring Beans, Cultivating은 Spring Processor입니다.

콩 생명주기와 마찬가지로 봄 콩 역시 자신의 생명주기를 가지고 있습니다.

img 소스

다음은 Spring에서의 bean 생명주기의 순서이다.

  • 인스턴스 생성 : 먼저 스프링 컨테이너는 XML 파일에서 bean의 정의를 찾아 bean을 인스턴스화합니다.

  • 특성 채우기 : 스프링은 종속성 삽입을 사용하여 bean 정의에 지정된대로 모든 특성을 채 웁니다.

  • Bean Name 설정 : Bean이 BeanNameAware 인터페이스를 구현하면, spring은 bean의 id를 setBeanName() 메소드로 전달합니다.

  • Bean 팩토리 설정 : Bean이 BeanFactoryAware 인터페이스를 구현하면, spring은 beanfactory를 setBeanFactory() 메소드로 전달합니다.

  • Pre-Initialization : Bean의 post process라고도합니다. bean과 관련된 Bean BeanPostProcessors가 있다면, Spring은 postProcesserBeforeInitialization() 메소드를 호출한다.

  • Bean 초기화 : Bean이 IntializingBean 구현하는 경우, 해당 Bean의 afterPropertySet() 메소드가 호출됩니다. bean에 init 메소드 선언이 있으면, 지정된 초기화 메소드가 호출됩니다.

  • Post-Initialization : - Bean과 연관된 BeanPostProcessors 가 있으면 해당 postProcessAfterInitialization() 메소드가 호출됩니다.

  • 바로 사용할 수 있습니다. 이제 애플리케이션에서 Bean을 사용할 준비가되었습니다.

  • Destroy : Bean이 DisposableBean 구현하면 destroy() 메소드가 호출됩니다.




  • 스프링 빈은 Spring IOC 컨테이너에 의해 관리되는 객체 인스턴스이다.

  • Spring IOC 컨테이너는 Bean의 Bag을 가지고있다. Bean의 생성, 유지 및 삭제는 Spring Container의 책임이다.

  • 우리는 Wiring and Auto Wiring을 사용하여 bean을 Spring으로 넣을 수 있습니다.

  • 배선이란 XML 파일에 수동으로 구성하는 것을 의미합니다.

  • Auto Wiring은 Java 파일에 주석을 넣고 Spring이 자동으로 Java 컨텍스트 파일을 루트 컨텍스트로 스캔하여 Spring의 가방에 넣는 것을 의미합니다.




Spring에서는 애플리케이션의 백본을 형성하고 Spring IoC 컨테이너에 의해 관리되는 객체를 beans라고한다. 빈은 단순히 Spring IoC 컨테이너에 의해 인스턴스화, 어셈블 링 및 관리되는 객체이다.




Related