Home » SPRING -1.SPRING 프레임워크 소개

SPRING -1.SPRING 프레임워크 소개

1.SPRING 프레임워크 소개

  • Spring은 엔터프라이즈 급 어플리케이션을 위해 객체의 생명주기를 관리해주는 경량 컨테이너다.
  • Spring은 웹에서만 쓰이는 프레임워크는 아니지만, 웹에서 많이 쓰이는 프레임워크이기 때문에 보통 Spring과 Spring MVC를 합쳐서 그냥 Spring이라 표현하는 경우가 대부분이다.
  • 이 문서에서도 Spring과 Spring MVC를 쓰는 웹 프로젝트의 예제를 통해 설명하고자 한다.

1.1. Hellow World

1.1.1 프로젝트 생성 및 실행

[ 개발환경 ]
jdk : 1.7
was : tomcat 7
ide : eclipse 4.3 (kepler) + sts plugin

[ 프로젝트 생성 ]
1) 메뉴의 File > New > Other > Spring project 선택 후 프로젝트 생성

2) 프로젝트 종류 및 이름 설정

image003
그림 1. 프로젝트 생성

3) 프로젝트 패키지 정보 설정
image006
그림 2. 패키지명 설정

4) 프로젝트 생성 후 실행 화면

image008
그림 3. 실행 화면

1.1.2. 패키지 구조 및 설명

image010
그림 4. 패키지 구조

  • src/main/java : 자바 소스 파일 위치.
  • src/main/resources : 리소스 파일 위치
  • src/test/java : 테스트 케이스 자바 소스 파일 위치
  • src/test/resources : 테스트 케이스 리소스 파일 위치
  • src/main/webapp : 웹 어플리케이션 관련 파일 위치
  • pom.xml : 프로젝트의 전반적인 정보를 가지고 있는 파일


[ web.xml ]

  • 웹 어플리케이션에 실행 환경에 관련된 설정 파일이 담겨 있는 파일.
  • DispacherServlet의 경우 여러개가 설정 가능하기 때문에 공통으로 공유할 자원들은 root-context.xml에 설정하고, 개별 DispacherServlet에서 쓰일 자원들은 servlet-context.xml 파일에 설정하고 있다.
  • 이렇게 사용하는 이유는 다음과 같다
    • ContextLoaderListener은 ApplicationContext를 생성하는데, 이 ApplicationContext는 DispacherServlet이 생성하는 WebApplicationContext의 부모 컨텍스트가 된다.
    • 자식 컨텍스트들은 부모 컨텍스트들의 자원을 공유 할 수 있기 때문에 ContextLoaderListener를 사용하여 공통 자원을 설정 가능하다.

[ servlet-context.xml ]

  • <annotation-driven /> : 자동으로 어노테이션 이용한 Spring MVC을 사용하기 위한 설정.
    • 요청 URL과 처리할 Controller를 이어주는 @RequestMapping을 쓸수 있는 것도, 이 설정을 통해 필요한 부분의 사전작업을 처리하기 때문이다.
  • <context:component-scan base-package=”kr.co.ahope” /> : 어노테이션을 사용한 bean객체의 등록 및 주입을 자동으로 해주는 설정.
    • base-package 정보에 있는 package 정보 밑으로 해당 자원을 검색해서 자동 등록해 준다.