본문 바로가기

Web/Spring

(7)
[ Spring ] ⑦ 메이븐과 스프링 STS 1. 아파치 메이븐 (1) 메이븐(Maven) 정의 : "프로젝트 구조와 내용을 기술하는 선언적 접근 방식의 오픈 소스 빌드 툴" 프로젝트 종속 라이브러리들과 그 라이브러리에 의존하는 Dependency 자원까지 관리. 프로젝트 전반의 리소스 관리와 설정 파일 그리고 이와 관련된 표준디렉터리 구조를 처음부터 일관된 형태로 구성하여 관리할 수 있음 (2) 메이븐 설치하기 maven.apache.org에 접속한 후 Download를 클릭한다. apahce-maven-version-vin.zip 파일을 다운로드한다 원하는 폴더에 다운로드 한 압축을 해제하고 경로를 복사한다 환경 변수 설정에서 MAVEN_HOME을 생성하고 MAVEN_HOME/bin을 PATH에 등록한다. 터미널에서 mvn 명령으로 설치가 잘되..
[ Spring ] ⑥ 스프링 애너테이션 기능 # 1. 스프링 애너테이션이란? (1) 스프링 애너테이션(Annotation) 기존에 XML에서 하던 빈 설정을 애너테이션을 이용해서 자바 코드에서 설정하는 방법 기능이 복잡해짐에 따라 XML에서 설정하는 것보다 유지 보수가 유리하다 현재 애플리케이션 개발 시 XML 설정 방법과 애너테이션 방법을 혼합해서 사용한다. (2) 스프링 애너테이션 제공 클래스 브라우저 URL 요청 처리 애너테이션 관련 클래스 클래스 기능 DefaultAnnotationHandlerMapping 클래스 레벨에서 @RequestMapping을 처리합니다. AnnotationMethodHandlerAdapter 메소드 레벨에서 @RequestMapping을 처리합니다. (3) 태그 기능 이 태그를 사용해 패키지 이름을 지정하면 애플..
[ Spring ] ⑤ 스프링 JDBC 기능 # 스프링 JDBC (1) 스프링에서 제공하는 JDBC 특징 기존 JDBC의 장점과 단순함을 유지하면서 단점 보완 간결한 API뿐만 아니라 확장된 JDBC의 기능도 제공 Note) 실제 개발에서 진행할 때는 스프링 JDBC 기능보다는 마이바티스나 하이버네이트 같은 데이터베이스 연동 관련 프레임워크 사용 (2) 스프링 JDBC 설정 파일 파일 설명 web.xml ContextLoaderListener를 이용해 빈 설정 XML 파일들을 읽어 들입니다. action-servlet.xml 스프링에서 필요한 여러가지 빈을 설정합니다. action-dataSource.xml 스프링 JDBC 설정에 필요한 정보를 설정합니다. jdbc.properties 데이터베이스 연결 정보를 저장합니다. action-service..
[ Spring ] ④ 스프링 MVC 기능 # 스프링 프레임워크 MVC 특징 (1) 스프링에서 지원하는 MVC 기능의 특징 모델2 아키텍처를 지원 스프링과 다른 모듈과의 연계가 용이 타일즈(tiles)나 사이트메시(sitemesh)같은 View 기술과의 연계가 용이 태그 라이브러리를 톻해 message 출력, theme 적용 그리고 입력 폼을 보다 쉽게 구현 가능 (2) 스프링 프레임워크의 구조 ...더보기 (3) 스프링 프레임워크 MVC 구성 요소 구성 요소 설명 DispatcherServlet 클라이언트의 요청을 전달받아 해당 요청에 대한 컨트롤러를 선택하여 클라이언트의 요청을 전달한다. 또한 컨트롤러가 반환한 값을 View에 전달하여 알맞은 응답을 생성. HandlerMapping 클라이언트가 요청한 URL을 처리할 컨트롤러를 지정함. Co..
[ Spring ] ③ AOP # 1. AOP란? (1) AOP(Aspect-Oriented Programming); 관점 지향 프로그래밍 AOP란? 횡단 관심사(cross-cutting concern)의 분리를 허용함으로써 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임이다. 관점 지향 프로그래밍을 이용해서 주 기능과 보조기능을 분리해서 메소드에 적용. AOP를 적용해야하는 이유 주기능을 위해서 보조 기능(로깅, 보안, 트랜재션) 들을 일일히 구현해야 한다. 규모가 있는 웹 애플리케이션일 경우 클래스의 메소드마다 이런 작업을 일일히 수작업으로 하기에서는 시간이 많이 걸리고 소스 코드도 복잡해진다. 즉, 유지보수의 어려움이 있다. # 2. 스프링에서 AOP 기능 사용하기 (1) AOP 관련 용어 용어 설명 aspect 구현하고자 ..
[ Spring ] ② DI와 IoC # 1. 의존성 주입하기 (1) 의존성 주입(DI, Dependency Injection)이란? 클래스의 연관 관계를 개발자가 직접 코딩을 통해 컴포넌트(클래스)에 부여하는 것이 아니라 컨테이너가 연관 관계를 직접 규정하는 것 코드에서 직접적인 연관 관계가 발생하지 않으므로 각 클래스들의 변경이 자유로워짐. (2) 의존성 주입을 해야하는 이유 기존의 자바 코드 구현의 문제점 : 자바 코드에서 직접 객체를 생성하는 것(tightly coupled)은 복잡한 문제를 일으킴. 다른 클래스의 변경 사항이 연속적으로 다른 부분에 영향을 미치는 것은 좋은 방법이 아님. 장점 클래스들 간의 의존관계 최소화 -> 코드 단순화 유지 및 관리가 쉬워짐 기존 구현 방법은 개발자가 직접 코드 안에서 객체의 생성과 소멸을 제어..
[ Spring ] ① Spring Framework 시작하기 # Framework란? (1) 프레임워크(Framework) 정의 사전적 의미로는 '어떤 것을 구성하는 구조 또는 뼈대'이나, 소프트웨어적 의미로는 '기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품'을 의미한다. (2) 프레임워크 장점 일정한 기준에 따라 개발이 이루어지믈 개발 생산성과 품질이 보장된 애플리케이션을 개발할 수 있다. 개발 후 유지보수 및 기능의 확장성에서 고품질을 보장한다. # 스프링 프레임워크 (Spring Framework) (1) 스프링 프레임워크(Spring Framework) 스프링 프레임워크는 자바 웹 애플리케이션 개발을 위한 오픈 소스 프레임워크 이다. EJB(Enterprise Java Beans, 엔터프라이즈 자바 빈즈)보다 가벼운 경량 프레임워크, 경량 ..