Spring - @Autowired와 빈 객체 탐색 순서
·
Spring
@Autowired란? @Autowired는 의존성의 "타입"을 통해 찾아 주입해주는 역할을 수행하며, 생성자, setter, 필드에서 사용할 수 있다. 예컨대, @Service public class FoodService{ @Autowired private FoodRepository foodRepository; } 이렇게 사용하면 타입을 이용해 의존 대상 객체를 검색하고 할당할 수 있는 빈 객체를 찾아 주입해준다. 그런데 여기서 동일한 interface를 구현한 여러개의 클래스가 있다면? 예를 들면, @Repository public interface FoodRepository{ } @Repository public class BestFoodRepository implements FoodReposito..
스프링- 스프링 Bean, 생성과정과 스코프
·
Spring
1. Spring Bean이란? Spring bean이란 Spring Ioc Container가 관리하는 자바 객체로 Container에 의해 생명주기가 관리되는 객체를 의미한다. 이 bean은 설정 메타 데이터(xml)에 의해 생성이 되기 때문에 일반적으로는 java코드 내에서 작성하지 않는다. 메타 데이터 파일에서 객체를 생성하면 해당 객체는 ApplicationContext.getBean()메소드를 사용하여 가져올 수 있다. IceCreamController iceCreamController = new IceCreamController(); //직접 생성한 객체는 bean이 아님 IcemCreamController bean = applicationContext.getBean(IceCreamContr..
스프링 - IOC와 DI
·
Spring
IOC(Inversion of Control)이란? Inversion Of Control이란 '제어의 역전'을 의미한다. 자바 초창기에는 자바객체를 생성하고 객체간의 의존관계를 연결하는 등의 제어권이 오롯이 개발자 본인에게 있었지만, 서블릿등이 등장하면서 개발자의 제어권이 서블릿과 EJB를 관리하는 외부 컨테이너로 넘어갔고 객체의 생성부터 생명주기의 관리까지 모든 객체에 대한 제어권이 프레임워크로 바뀐 것을 IOC, 제어의 역전이라고 한다. 일반적인 객체지향 프로그램에서는 객체를 사용하는 시점에 직접 객체를 생성하여 사용한다. 그러나 소스코드상에서 직접 하드 코딩한 객체 생성은 객체간의 의존성을 심화하고 객체간의 결합도를 높아지게 하는 현상을 띠게 하는데 이러한 경우 객체 생성에 있어서 특정 클래스가 변..
takoyummy
'Spring' 카테고리의 글 목록 (3 Page)