목록백엔드 개발/Spring 개발 (3)
개인공부용123 프로그래밍 블로그
프로젝트 구동시 참여 : web.xml(톰캣 관련), root-context.xml, servlet-context.xml 로딩 순서 1. web.xml : ContextLoaderListener를 구동 2. root-context.xml : 빈 설정들을 동작, 빈들이 Spring의 context영역안에 생성 객체들간의 의존성 처리 3. DispacherServlet이 작동하면서 XmlWebApplicaitonContext를 이용하여 servlet-context.xml을 동작 이 과정에서 등록된 객체들을 기존에 만들어진 객체들과 같이 연동
1. POJO기반의 구성 - 일반적인 Java코드를 이용해서 객체를 구성하는 방식 - 개발자가 특정 라이브러리나 컨테이너에 종속 되지 않음 - 생산성 유리, 코드 테스트 작업 유연하게 할 수 있음 2. DI - 타 객체에 의존적인 객체의 의존성을 외부에서 주입 - 스프링에서는 ApplicationContext 이러한 역할을 하고 관리하는 객체를 Bean이라 부름 3. AOP 지원 - 반복적인 코드의 제거 - 비지니스 로직에 집중할 수 있음 - 유지 보수 용이함 4. 트랜잭션 지원 - 데이터베이스 이용시 하나의 업무가 여러작업으로 이루어지는 경우의 트랜잭션 처리를 XML이나 어노테이션으로 관리 가능
1. IoC(Inversion of Control) - 프로그램의 제어 흐름 구조가 바뀜 - 자신이 사용할 object를 생성하거나 선택하지 않고 어떻게 사용되는지 알 수 없음 - Container에 위임하고, Container는 Bean 설정 정보를 바탕으로 Bean을 만들어 DI하고 이로 인해 IoC가 이루어짐 - Spring에서는 ApplicationContext가 제어권을 가짐 2. DI(Dependency Injection) - 의존하는 클래스에 대한 인스턴스를 직접 생성하지 않고 컨테이너로부터 생성된 Bean을 Setter 혹은 생성자를 통해 외부로 부터 주입 - 코드 재사용성 증가, 결합도 감소 3. AOP(Aspect oriented programming) - 공통된 기능을 재사용(OOP를..