1. 빈 관리 전략 1-1. XML 단독 사용 - 모든 빈을 명시적으로 XMl에 등록하는 방법. - 생성되는 모든 빈을 XMl에서 확인할 수 있다는 장점. - 빈의 개수가 많아지면 어ㅓ지러워짐. - 여러 개발자가 같은 설정파일을 공유해서 개발하다보면 설정을 동시에 수정하다가 충돌이 일어나기도 함. - DI에 필요한 적절한 setter 메서드 또는 constructor가 코드 내에 반드시 존재해야 함. - 개발 중에는 어노테이션 설정방법을 사용하는 것이 유리함. - 운영 중에는 관리의 편의성을 위해 XML설정으로 변경하는 전략을 취할 수도 있음. 1-2. XML과 Bean Scanning의 혼용 - Bean으로 사용될 클래스에 어노테이션을 부여해주면 자동으로 그런 클래스를 찾아서 Bean으로 등록해줌.(빈..
국기훈련과정/Spring
1. Bean 의존관계 설정 방법 1)Setter Injection : 태그 - ref 속성은 Bean 이름을 이용해 주입할 Bean을 찾는다. - value 속성은 단순 값 또는 Bean이 아닌 객체를 주입할 떄 사용. 2) Constructor Injection: 태그 - 생성자의 파라미터를 이용하기 때문에 한번에 여러 객체를 주입할 수 있음. 2. Collection 타입의 값 주입 1) List와 Set 타입 : 와 태그 이용 / Set일 경우 대신 이용 2) Map 타입: 과 태그 이용 3. Property 파일을 이용한 설정 방법 - 환경에 따라 자주 변경되는 내용의 분리 - 변경되는 이유와 시점이 다르다면 분리하는 것이 객체지향 설계의 기본 원칙이므로 - 환경에 따라 자주 변경될 수 있는 내..
1. jUnit의 특징 - 단정(assert) 메서드로 테스트 케이스의 수행 결과를 판별. - jUnit4부터는 간단하게 테스트를 진행할 수 있도록 어노테이션을 제공한다. @Test, @Before @After - 각 @Test 메서드가 호출될 때마다 새로운 인스턴스를 생성하여 독립적인 테스트가 이루어지도록 한다. 1-2. jUnit 라이브러리 설치 - pom.xml에 추가해준다. (spring mvc project 템플릿엔 기본 포함되어 있음.) 2. jUnit의 어노테이션 1) @Test - 테스트를 수행하는 메소드에 지정. - 각각의 테스트가 서로 영향을 주지 않고 독립적으로 실행됨을 원칙으로 함. -> 각각의 @Test마다 객체를 생성함 2) @Ignore - 이것이 선언된 메서드느 테스트를 실행..
1. POJO 클래스 작성 Hello.java package myspring.di.xml; public class Hello { String name; Printer printer; public Hello() {} public void setName(String name) { this.name = name; } public void setPrinter(Printer printer) { this.printer = printer; } public String sayHello() { return "Hello " + name; } public void print() { this.printer.print(sayHello()); } } Printer.java 인터페이스 package myspring.di.xml; ..
1. IoC (Inversion of Control) - 제어권의 역전. - 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 것을 뜻함. - 개발자가 아닌 컨테이너가 관리해줌. 1-1 IoC 컨테이너 - 객체의 생성을 책임지고, 의존성을 관리함. - POJO의 생성, 초기화, 서비스, 소멸에 대한 권한을 가짐. - 개발자들이 직접 POJO를 생성할 수 있지만 컨테이너에게 맡김. 1-2 IoC 의 분류 DL보다는 DI를 선호함. DL - 의존성 검색 - 저장소에 저장되어 있는 Bean에 접근하기 위해 컨테이너가 제공하는 API를 이용하여 Bean을 검색. - DL을 사용하면 컨테이너 종속성이 증가함. ==> DI를 주로 사용하게 되는 이유 DI - 의존성 주입 - 각 클래스 간의 의..
1. STS 설치 - 이클립스 EE를 쓰는 것보다 나은 편의기능을 제공해줌. 2. Maven과 Library 관리 - 편리한 Dependent Library 관리 - 여러 프로젝트에서 프로젝트 정보나 jar파일들을 공유하기 쉬움 - 모든 프로젝트의 빌드 프로세스를 일관되게 가져갈 수 있음 - Pom.xml 파일의 Dependency 태그를 통해 라이브러리를 관리. (POM = Project Object Model) - spring-jdbc 모듈과 spring-web 모듈을 추가해 주어야 한다.
1. Spring Framework란? - JAVA 엔터프라이즈 개발을 편하게 해주는 옾느소스 경량급 애플리케이션 프레임워크이다. - 엔터프라이즈 개발 용이 => 개발자가 복잡하고 실수하기 쉬운 Low level(보안, 인증, Tx 처리 등)에 신경쓰지 않으면서 비지니스 로직 개발에 전념할 수 있도록 해줌. 1-1. Spring Framework 전략 1) Portable Service Abstraction (서비스 추상화) 트랙잭션 추상화, OXM(Object XML Mapping) 추상화, 데이터 액세스의 Exception 변환기능 등 기술적인 복잡함은 추상화를 통해 Low level의 기술 구현 부분과 기술을 사용하는 인터페이스로 분리함. 2) 객체지향과 DI(Dependency Injection)..