Skip to content
Woo Green edited this page Aug 28, 2020 · 5 revisions

Spring 역사

Spring 이전에는?

EJB(Enterprise Java Bean) 엔진

기업형 분산 컴포넌트 : 웹로직, 웹스피어, 제우스 등 WAS위에서 동작

  • 세션 빈 ( Session Bean )

  • 엔터티 빈 ( Entity Bean )

  • 에시지 빈 ( Message Bean ) : 스프링에서 구현 x

Spring 의 특징 EJB와 비교

  • Spring은 EJB를 본따서 만든 경량 컴포넌트.

  • 분산 지원 X

  • 규격화 되지 않음 -> POJO 지향

Spring 의 특징

  1. DI

용어 :

  • 스프링 컨테이너 = 빈 팩토리

  • 빈 : 스프링 컨테이너에 의해 관리되는 객체

스프링 컨테이너

빈팩토리 = ApplicationContext = 스프링컨텍스트 = 스프링컨테이너 = 스프링엔진

스프링은 웹 뿐만아니라 다양한 분야에서 사용된다.

웹없는 환경에서 실습한 스프링엔진을 떠올려 보자.

  • ClassPathXmlApplicationContext
  • AnnotationConfigApplicationContext

웹 개발을 들어가면서, Spring MVC 모듈을 추가하고

  • WebApplicationContext 객체 생성

설정(XML)

web.xml

공통 Spring 설정 파일 : ContextLoaderListener

<listener>  
  <listener-class>
      org.springframework.web.context.ContextLoaderListener
 </listener-class>
</listener>

-> 기본 스프링 설정 파일명은 applicationContext.xml

사용자 지정xml명

<context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>
    /WEB-INF/root-context.xml
    /WEB-INF/dao-data.xml
  </param-value>
</context-param>

사용자 정의 설정파일(spring-mvc 설정) : DispatcherServlet

<servlet>
    <servlet-name>mvc</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  	<load-on-startup>1</load-on-startup>
</servlet>

-> 기본 설정 파일명 : {context-path}-servlet.xml

사용자 지정 xml명

<servlet>
     <servlet-name>web1</servlet-name>
     <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
     <param-value>/WEB-INF/servlet-context.xml</param-value>
    </init-param>
   <load-on-startup>1</load-on-startup>
</servlet>