본문 바로가기

분류 전체보기140

day62) annotation 사용하기1 - Model관련 .xml (설정파일)의 단점 -결합도를 낮추고 유지보수성을 높이기 위해 xml로 설정했으나 xml이 많아지면 설정할 것이 많아져 오히려 유지보수성이 낮아진다. *해결법: 어노테이션 사용! -시스템 전체에 영향을 주고 이후에 변경가능성이 있는것은 xml로 설정한다. [어노테이션] 서블릿 컨테이너(톰캣)가 언제 이 객체를 생성하고 호출할 지를 파악 할 수 있게 된다. @이 설정파일의 역할을 수행하고 있었음을 짐작할 수 있다. 컴파일, 런타임시에 반영된다. -사용방법 1. applicationContext -> namspace -> context 체크 2. -어노테이션 종류 @Component @Component Annotation이 있는 클래스에 대하여 bean 인스턴스를 생성한다. @Service, @Re.. 2022. 3. 30.
day61) 생성자 injection, setter injection IoC를 지원하는 컨테이너에게 객체생성권을 줄수있으니, 이를 이용해보자! 객체들을 생성하여 작업하다보면, "의존관계"가 발생한다. Dependency -> Dependency Injection(DI,의존성 주입)★☆★☆★ (원시타입보다 객체를 대상) [설계] 인터페이스로 같은 메서드를 사용하게 강제한다. TV 인터페이스 - 전원 on, off , 볼륨 up, down Remote 인터페이스 - 볼륨 up, down -> 리모콘으로 볼륨 up, down을 하며 A, B어느 걸로 하던 상관없이 작동한다 -> LgTV는 생성자 injection, SamsungTV는 setter injection으로 리모콘의 의존성을 주입할 예정 [코드] TV인터페이스 package test; public interface T.. 2022. 3. 29.
day61) applicationContext.xml로 객체 생성하기 [생성] src/main/resources 우클릭 -> Spring Bean Configration File생성 [사용법] -기본사용법 = SamsungTV tv = new SamsungTV() (bean : new 의 역할) [속성] 1. init-method, destroy-method : 객체가 생성되거나 소멸 될때 시행되는 메서드 각각의 메서드는 해당 클래스에 정의 해 주어야함 2. lazy-init : 컨테이너가 실행되면 default로 bean으로 만들어진 모든 객체를 생성한다(pre-loading,즉시로딩 방식). 이는 컨테이너가 끝날때까지 유지되는데 모든 객체를 들고 다닐 수 없기 때문에 필요한 순간 생성되도록 lazy-init="true"를 사용한다. 3.scope 빈을 등록할 때 아무런.. 2022. 3. 29.
day61) 스프링 프레임워크란? [스프링 프레임워크란?] 1. 프레임워크 일정한 형태의 틀, 부품을 가지고 다양한 형태의 결과물을 만드는 것 -> 관리가 용이 -> 개발시간 단축 -> 개발자들의 역량이 획일화 -> 재사용성 증가 2. 스프링 프레임워크 "IOC와 AOP를 지원하는 경량(POJO)의 프레임워크" : 재사용성이 향상된 어플리케이션을 개발할 수 있음 ->JSP 팀프로젝트보다 빠르고 정확한 프로젝트를 생산가능 [IOC] 제어의 역행(Inversion of Control): 컨테이너가 객체를 대신 관리 Java 객체 지향 언어에서는 객체가 있어야 메서드를 수행 할 수 있었다. 톰캣은 서블릿 컨테이너를 실행시키며 객체를 new(생성)해 주는 존재이다. 스프링에서는 이러한 컨테이너가 POJO형태이다.(경량) ★ 스프링 컨테이너가 객.. 2022. 3. 29.