목록Java Web (38)
코린이의 기술 블로그
AOP(Aspect Oriented Programming) ? 응집도와 관련된 기능 AOP는 이러한 부가적인 공통 코드들을 효율적으로 관리하는데 주목 AOP메소드마다 공통으로 로깅이나 예외, 트랜젝션 처리 같은 코드들을 횡단 관심(Crosscutting Concerns) 객체지향을 도와주는 역할 OOP(OOP : 객체의 관점에서 프로그래밍 하는 것을 의미)의 한계를 극복 AOP용어 Joinpoint : 클라이언트가 호출하는 메소드 Pointcut : 필터링된 조인포인트 Advice : 횡단 돤심에 해당하는 공통 기능릐 코드를 의미 Weaving : 포인트 컷으로 지정한 핵심 관심 메소드가 호출될 때, 어드바이스에 메소드 삽입 과정 Aspect : 포인트 컷과 어드바이스의 결합하여 어떤 메소드에 실행할 지..
자동 검색과 컴포넌트 (1) @Component 와 스테레오 타입(stereotype) 어노테이션 @Component : 일반적인 컴포넌트 설정하는 기본 스테레오 타입 @Repository : DAO 컴포넌트 @Service : 서비스 컴포넌트 @Controller : 컨트롤러 컴포넌트 (2) 클래스 자동 검색과 빈설정 ★ant 경로 패턴에 사용되는 3가지 대체 문자 ? : ? 위치의 1개 문자 대체 * : * 위치의 모든 문자 대체 ** : ** 위치의 모든 패키지, 디렉토리 대체 (3)의 하위요소 include-filter : 자동 스캔 대상에 포함 클래스 exclude-filter : 자동 스캔 대상에 제외 클래스 필터 타입 설명 annotation 레벨로 표현 assignable extend/im..
의존 관계 ? 자동 설정 모드를 통하여 빈을 설정하는 방법 요소의 autowire 속성으로 "모드" 지정 byName : 프로퍼티 이름에 의해 자동 설정, 빈의 "name","id" 가 있으면 자동 설정 byType : 프로퍼티 설정에 의해 자동 설정, 프로퍼티의 타입과 일치하는 빈의 "name","id" 가 있으면 자동 설정 constructor : 생성자 파라메타 타입을 이용한 자동 설정, 의존 관계 자동 설정 autodetect : constructor 먼저 적용하고, constructor적용 할 수 없는 경우 byType 을 이용한 의존 관계 자동 설정 no : 기본 값, 자동 설정하지 않는다. 자동 설정의 단점 ? 명시적인 설정보다 정확하지 않다. 단일 값을 갖는 의존성이 모호할 경우 임의로 처..
DI(Dependency Injection) 의존성 주입으로 스프링 컨테이너가 지원하는 핵심개념 웹 애플리케션에서 구성 요소간의 종속성을 소스 코드에서 설정하지 않고, 외부의 설정 파일 등을 통해 주입하도록 하는 설계 패턴 입니다. 스프링 의존성 관리 방법 스프링은 IoC(제어의 역행)를 두가지 형태로 지원합니다. Dependency Lookup Dependency Injection 주입을 주로 사용 Dependency Injection : ex. Circle c=new Circle(); 객체를 생성하기 위해 사용 Setter Injection (세터 인젝션) : setter 메서드로 클래스 사이의 의존관계 설정 Constructor Injection (생성자 인젝션) : 생성자를 통해 의존관계 설정 기..
스프링 컨테이너의 종류 ? 스프링에서는 BeanFactory와 이를 상속한 ApplicationContext 두 가지 유형의 컨테이너를 제공 먼저 BeanFactory는 스프링 설정 파일에 등록된 객체를 생성하고 관리하는 가장 기본적인 컨테이너 기능만 제공한다. 그리고 컨테이너가 구동될 때 객체를 생성하는 것이 아니라, 크라이언트의 요청에 의해서만 객체가 생성되는 지연 로딩 방식을 사용합니다. ApplicationContext는 BeanFactory가 제공하는 객체 관리 기능 외에도 트랜잭션 관리나 메시지 기반의 다국어 처리 등 다양한 기능을 지원합니다. GenericXmlApplicationContext ? 파일 시스템이나 클래스 경로에 XML 설정 파일을 로딩하여 구동하는 컨테이너 XmlWebAppl..
IoC(Inversion of Control) 컨테이너 : 스프링 프레임워크를 이해하는데 가장 중요한 개념은 컨테이너입니다. 컨테이너의 개념은 기존의 서블릿이나 EJB 기술에서 이미 사용되어 왔습니다. 대부분 컨테이너는 비슷한 구조와 동작 방법을 가지고 있으므로 서블릿 컨테이너의 동작 방식으로 유추해 볼 수 있습니다. IoC(Inversion of Control) : 제어의 역행 제어의 역행을 이용하면 소스에서 객체 생성과 의존 관계에 대한 코드가 사라져 결과적으로 낮은 결합도의 컴포넌트를 구현 객체의 생성, 소멸 의존성에 관한 생명주기를 컨테이너가 관리 합니다. 역 제어 또는 제어의 역전이며, 기존 자바의 권한을 객체가 생성할때 판단해 그걸 연동 연결시키기, class만 맞추면 끼워서 사용할 수 있는 ..
스프링의 특징은 IoC와 AOP를 지원하는 경량의 컨테이너 프레임워크 라고 표현할 수 있습니다. 1. 경량 스프링은 여러개의 모듈로 구성, 각 모듈은 하나 이상의 JAR 파일로 구성되어 있습니다. 몇개의 JAR 파일만 있어도 개발과 실행이 모두 되고, 배포 역시 빠른 편입니다. Plan Old Java Object (POJO)형태의 객체를 관리하여 POJO클래스를 구현하는데 특별한 규칙이 없는 단순한 객체이므로 EJB 객체를 관리 하는 것 보다는 훨씬 빠릅니다. 2. 제어의 역행(Inversion of Control, IoC) 비즈니스 컴포넌트를 개발 할때 중요한 것은 낮은 결합도와 높은 응집도입니다. 스프링은 제어의 역행을 통해 애플리케이션을 구성하는 객체간의 낮은 결합도를 유지합니다. 하지만 IoC를..
스프링 프레임워크 세팅하기 springProject 폴더생성 아파치톰캣,이클립스압축풀어서넣기 workspace폴더생성 톰캣등록 windows preferences server Runtime Environments springProject에 톰캣넣기 tomcat 9다운로드 external 웹브라우져 크롬선택 apply 워크스페이스 선택 other누르고 utf8로 변경 apply 웹 CSS파일 선택 encodin type utf8선택 apply HTML 선택 utf8 apply jsp file utf8변경 utf8변경은 한글 설정 프로젝트를 하나 만든 후, pom.xml 와 web.xml에 UTF-8 설정을 하고 구동을 시킨다 그러면 이클립스의 프로젝트에 구성이 된다.