Spring/Spring Quick Start
-
스프링퀵스타트 AOP용어 및 기본설정Spring/Spring Quick Start 2019. 5. 23. 06:29
|AOP 용어정리 1. 조인포인트(Joinpoint) 조인 포인트는 클라이언트가 호출하는 모든 비즈니스 메소드로서, BoardServiceImpl이나 UserServiceImpl 클래스의 모든 메소드를 조인포인트라고 생각하면된다. 조인포인트를 2에서 설명할 '포인트컷 대상' 또는 '포인트컷후보'라고도 하는데, 이는 조인포인트 중에서 포인트컷이 선택되기 때문이다. 2. 포인트컷(Pointcut) 클라이언트가 호출하는 모든 비즈니스 메소드가 조인포인트라면, 포인트컷은 필터링된 조인포인트를 의미한다. 예를 들어, 트랜잭션을 처리하는 공통 기능을 만들었다고 가정하자. 이 횡단 관심 기능은 등록, 수정, 삭제 기능의 비즈니스 메소드에 대해서는 당연히 동작해야 하지만, 검색 기능의 메소드에 대해서는 트랜잭션과 무관..
-
스프링퀵스타트 xml 파일 오류 발생 및 해결Spring/Spring Quick Start 2019. 5. 23. 02:41
-오류- INFO : org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Loading XML bean definitions from class path resource [applicationContext.xml] WARN : org.springframework.beans.factory.xml.XmlBeanDefinitionReader - Ignored XML validation warning org.xml.sax.SAXParseException; lineNumber: 13; columnNumber: 70; SchemaLocation: schemaLocation 값 = 'http://www.springframework.org/schema/be..
-
스프링퀵스타트 스프링AOPSpring/Spring Quick Start 2019. 5. 22. 08:28
AOP 관점 지향 프로그래밍(Aspect Oriented Programming) OOP 객체 지향 프로그래밍(Object Oriented Programming) 비즈니스 컴포넌트 개발에서 가장 중요한 두 가지 원칙은 낮은 결합도와 높은 응집도를 유지하는 것이다. 스프링의 의존성 주입(dependency injection)을 이용하면 비즈니스 컴포넌트를 구성하는 객체들의 결합도를 떨어뜨릴 수 있어서 의존관계를 쉽게 변경할 수 있다. 스프링의 IoC가 결합도와 관련된 기능이라면, AOP(Aspect Oriented Programming)는 응집도와 관련된 기능이라고 할 수 있다. AOP 응집도와 관련 IoC 결합도와 관련 AOP 이해 새로운 메소드를 구현하는 가장 일반적인 방법은 기존에 잘 만들어진 메소드를..
-
스프링퀵스타트 어노테이션 기반 설정Spring/Spring Quick Start 2019. 5. 21. 13:05
|어노테이션 설정 기초 스프링 프레임워크 역시 xml 설정이 매우 중요하다. 그만큼 xml 파일의 과도한 설정에 대한 부담이 크며, 이로 인해 프레임 워크 사용을 꺼리기도 한다. 따라서, 어노테이션을 이용한 설정을 지원하고있다. 1. context 네임스페이스 추가 스프링 설정 파일의 루트 엘리먼트인 에 Context 관련 네임스페이스와 스키마 문서의 위치를 등록해야한다. 이는 p 네임스페이스 추가했을 때 처럼 Namespaces 탭을 클릭하고 context 항목만 체크하면 쉽게 추가할 수 있다. 2. 컴포넌트 스캔(component-scan) 설정 스프링 설정 파일에 애플리케이션에서 사용할 객체들을 등록하지않고 자동으로 생성하려면 컴포넌트 스캔이라는 엘리먼트를 정의해야한다. 이 설정을 추가하면 스프링 ..
-
스프링퀵스타트 의존성주입Spring/Spring Quick Start 2019. 5. 21. 08:49
스프링 프레임워크의 가장 중요한 특징은 객체의 생성과 의존관계를 컨테이너가 자동으로 관리한다는 점이다. 이것이 바로 스프링 IoC(Inversion of Control, 제어의 역행)의 핷미 원리이기도 하다. 스프링은 IoC를 다음 두 가지 형태로 지원한다. Inversion of Control 1. Dependency Lookup(의존성 요청) 2. Dependency Injection(의존성 주입) >>> a. Setter Injection >>> b. Constructor Injection |Dependency Lookup 컨테이너가 애플리케이션을 운용할 때 필요한 객체를 생성하고 클라이언트는 컨테이너가 생성한 객체를 검색(Lookup)하여 사용하는 방식이다. 하지만 이 방식은 실제 애플리케이션 개..
-
스프링퀵스타트 bean 엘리먼트 속성Spring/Spring Quick Start 2019. 5. 21. 06:52
1. init-method 속성 서블릿은 init() 메소드를 재정의하여 멤버변수로 초기화한다. 2. destroy-mehtod 속성 스프링 컨테이너가 객체를 삭제하기 직전에 호출될 임의의 메소드를 지정할 수 있다. 3. lazy-init 속성 스프링에서는 컨테이너가 구동되는 시점이 아닌 해당 이 사용되는 시점에 객체를 생성하도록 init-lazy 속성을 제공한다. 이를 이용하면 메모리 관리를 효율적으로 할 수 있다. ApplicationContext를 이용하여 컨테이너를 구동하면 컨테이너가 구동되는 시점에 스프링 설정 파일에 등록된 들을 생성하는 즉시 로딩(pre-loading)방식으로 동작된다. 그런데 어떤 은 자주 사용되지 않으면서 메모리를 많이 차지하여 시스템에 부담을 주는 경우도 있다. 이럴때 ..