본문 바로가기
반응형

프로그래밍/Spring71

@Required 어노테이션 @Required 어노테이션 org.springframework.beans.factory.annotation 패키지에 위치한 @Required 어노테이션은 필수 프로러티를 명시할 때 사용된다. 필수 프로퍼티를 지정하려면 먼저 프로퍼티 설정 메서드에 @Required 어노테이션을 붙혀야 한다. private int number; @Required publicvoid setNumber(int number) { this.number = number; } 스프링 설정 파일에 RequiredAnnotationBeanPostProcessor클래스를 빈으로 등록해야 스프링이 @Required 어노테이션을 알맞게 처리하게 된다. RequiredAnnotationBeanPostProcessor 클래스를 빈으로 등록하는 .. 2018. 12. 18.
Bean 범위(scope) Bean 범위(scope) 스프링은 기본적으로 컨테이너에 한 개의 빈 객체를 생성한다. 경우에 따라서 getBean() 메서드를 호출할 때마다 빈 객체를 매번 생성하고 싶은 경우에는 빈의 범위를 설정하는 방법으로 할 수 있다. ... scope 속성범위 설명 singleton 스프링 컨테이너에 한 개의 빈 객체만 존재한다 (기본값) prototype 빈을 사용할 때 마다 객체를 생성한다. request HTTP요청 마다 빈 객체를 생성한다. WebApplicationContext에서만 적용 가능 session HTTP 세션마다 빈 객체를 생성한다. WebApplicationContext에서만 적용 가능 global-session 글로벌 HTTP 세션에 대해 빈 객체를 생성한다. 포틀릿을 지원하는 컨텍스트.. 2018. 12. 18.
스프링(Spring) 컨테이너 스프링(Spring) 컨테이너 스프링은 객체를 관리하는 컨테이너를 제공, 컨테이너에 객체를 담아두고 필요할때에 컨테이너로부터 객체를 가져와 사용할 수 있도록 하고 있다( 아마도 싱글톤 패턴과 관련이 있는 듯 하다.) BeanFactory와 ApplicationContext가 컨테이너 역할을 수행하는 인터페이스. BeanFactory-----------------------ApplicationContext-----------------------WebApplicationContext BeanFactory 인터페이스 org.springframwork.beans.factory.BeanFactory 인터페이스는 빈 객체를 관리하고 각 빈 객체간의 의존관계를 설정해주는 기능을 제공하는 가장 단순한 컨테이너. 구현.. 2018. 12. 17.
AOP(Aspect Oriented Programming)와 스프링(Spring) AOP(Aspect Oriented Programming)와 스프링(Spring) 어플리케이션 개발을 하다 보면 공통으로 사용되는 기능(로깅, 트랜잭션 관리, 보안 등)이 있는데 이런 공통 관심 사항들을 객체지향기법(상속이나 패턴등)을 사용해서 여러 모듈에 효과적으로 적용하는 한계를 극복하기 위해 AOP라는 기법이 도입되었다. 어플리케이션 전반에 공통으로 사용되는 기능이 많아질수록 그리고 공통 모듈을 사용하는 클래스가 많아 질수록 의존 관계는 점점 복잡해지고 중복되는 문제가 발생. AOP(Aspect Oriented Programming)는 공통의 관심사항을 적용해서 발생하는 의존 관계의 복잡성과 코드 중복을 해소해 주는 프로그래밍 기법. AOP에서는 각 클래스에서 공통 관심 사항을 구현한 모듈에 대한 .. 2018. 12. 17.
스프링(Spring) 프레임워크 & DI(Dependency Injection)패턴 스프링(Spring) 프레임워크 & DI(Dependency Injection)패턴 스프링에 대한 설명. 스프링의 모태는 Rod Johnson은 "Expert One-on-One J2EE Development without EJB" 라는 책을 통해 EJB없이 자바 엔터프라이즈 어플리케이션을 개발하는 방법을 소개했다. 스프링(Spring)은 엔터프라이즈 어플리케이션에서 필요로 하는 기능을 제공하는 프레임워크. JEE(Java Enterprise Edition)가 제공하는 다수의 기능을 지원, 대체 프레임워크로 자리잡았다. (3.0때 이야기) 스프링 컨테이너는 자바 개체의 생성, 소멸과 같은 라이프 사이클을 관리하며, 스프링 컨테이너로부터 필요한 객체를 가져와 사용할 수 있다. 스프링은 DI(Dependen.. 2018. 12. 17.
반응형