프로그래밍/Spring
[Spring] 어노테이션 장점과 @Autowired 이용한 DI
Spring을 사용시 다양한 어노테이션을 지원한다. 그 중 Spring을 이용한 DI를 편리하게 설정하는 어노테이션도 지원하는데 그게 바로 @Autowired 이다. 기존 DI의 결합도를 낮추기 위해 인터페이스를 호출하고 해당 구현체들의 클래스를 어떤 구분 값으로 외부 설정 파일(XML,TXT 등)을 통해 Class를 바꿔끼워주었다. setting.txt com.study.di.A1 FileinputStream fis = new FileinputStream("/com/study/di/setting.txt") String className = fis.readLine(); A a = Class.forName(className) Spring에서도 ApplicationContext 객체를 통해 외부 Xml에서 ..
[Spring] DI 지시서 작성 (Spring Bean Configuration)
생성자 DI, Setter DI 클래스간 결합 방식들 중 생성자와 setter 방식이 있다. 1. 생성자 방식 생성자 주입은 생성자의 호출 시점에 1회 호출 되는 것이 보장된다. 그렇기 때문에 주입받은 객체가 변하지 않거나, 반드시 객체의 주입이 필요한 경우에 강제하기 위해 사용할 수 있다. (Spring에서는 생성자 주입 방식을 권장, 지원함) ExamConsole 클래스에서 Exam이라는 객체를 필요로 할 때 ExamConsle 인스턴스 생성시 Exam 객체를 주입해주는 방식이다. Exam exam = new exam(); ExamConsole = new ExamConsole(exam); 2. setter 방식 ExamConsole 인스턴스 생성후 setter 메서드를 통해 exam 객체를 주입해주는..