Spring Framework(5)
-
Spring - AOP
AOP - Aspect Oriented Programming : 관점 지향 프로그래밍 - 하나의 프로그램을 관점(혹은 관심사)라는 논리적인 단위로 분리하여 관리하는 개념 - 로깅, 감사, 선언적 트랜젝션, 보안, 캐싱 등 다양한 곳에서 사용되고 있다. - 메서드 호출을 관심사로 설정하여 AOP에 관한 실습을 진행한다. - 관심사를 통해 Spring Framework가 어떤 메서드가 호출되는지 관심있게 지켜보다가 특정 메서드가 호출되면 자동으로 메서드 전과 후에 다른 메서드가 호출 될 수 있도록 한다. Spring AOP 용어 - Joint Point : 모듈이 삽입되어 동작하게 되는 특정 위치(메서드 호출 등) - Point Cut : 다양한 Joint Point 중에 어떤 것을 사용할지 선택 - Adv..
2020.08.29 -
Spring - Component 자동주입
Component 빈 객체에도 @Autowired,@Qualifier,생성자 등을 이용해 자동주입이 가능하다. 1. @Autowired @Autowired는 타입을 통해서 자동주입을 한다. @Component public class TestBean1 { @Autowired private DataBean1 data3; } 위와 같이 @Autowired를 선언하면 data3에는 DataBean1 객체가 자동으로 주입이 된다. 2. @Qualifier 타입이 아닌 이름을 통해서도 주입이 가능하다. @Component("obj1") public class DataBean2 { } 위와 같이 @Component("obj1")로 설정이 되어있으면 아래와 같이 @Qualifier를 이용해 obj1로 호출이 가능하다...
2020.08.27 -
Spring- Component Bean 기본 설정
Component Bean 에서도 앞서 적용했던 설정들을 @Lazy,@Scope,@PostConstruct,@PreDestroy 등의 어노테이션을 통해 적용 가능하다. 1. @Lazy @Lazy 어노테이션은 해당 클래스를 불러 올 시 자동으로 빈객체가 생성 되는 것을 막고 수동 생성으로만 빈 객체가 생성된다. @Component @Lazy public class TestBean1 { } 2. @Scope 빈 객체는 기본적으로 싱글톤 생성이다. 이런 빈 객체를 @Scope 어노테이션을 통해 prototype으로 설정 가능하다. @Component @Scope("prototype") public class TestBean1 { } 3. @PostConstruct, @PreDestroy @PostConstru..
2020.08.27 -
Spring - Component
@Component 어노테이션을 사용하면 Bean Configuration 파일에 Bean을 등록하지 않아도 자동으로 등록된다. Bean 객체로 사용할 클래스(TestBean1)에 @Component 을 붙여준다. package cookingcoding.beans; import org.springframework.stereotype.Component; @Component public class TestBean1 { } @Component를 붙여주면 해당 객체는 자동으로 Bean 객체로 등록 될 준비가 된다. 해당 빈 객체를 가져오기 위해서 BeanConfigClass 클래스에서 다음 설정을 추가해준다. @ComponentScan(basePackages = "cookingcoding.beans") publ..
2020.08.26 -
Spring - IoC 컨테이너로 빈 관리하기
spring에서는 bean을 관리하기 위해서 IoC 컨테이너를 사용하고 있다. 프레임워크(Framework) 기반의 개발에서는 프레임워크 자신이 흐름을 제어하는 주체가 되어, 필요 할 때마다 애플리케이션 코드를 호출하여 사용하는데 프레임워크에서 이 제어권을 가지는 것이 바로컨테이너(Container)이다. 객체에 대한 제어권이 개발자로부터 컨테이너에게 넘어가면서 객체의 생성부터 생명주기 관리까지의 모든 것을 컨테이너가 맡아서 하게된다. 이를 일반적인 제어권의 흐름이 바뀌었다고 하여 IoC(Inversion of Control : 제어의 역전)라고 한다. 즉, IoC는 코드작성의 흐름이 프로그래머가 아닌 프레임워크에 있는 것이다. 사용 방법을 알아보도록 하겠다. 1. 이전 시간에 생성했던 Maven프로젝트..
2020.08.15