경량 컨테이너로서 자바 객체를 직접 관리
제어 역행(IoC, Inversion of Control)
의존성 주입(DI, Dependency Injection)
관점기향 프로그래밍(AOP, Aspect-Oriented Programming)
트랜잭션 관리 프레임워크
모델-뷰-컨트롤러 패턴
배치 프레임워크
// 스프링 설정 파일 <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/root-context.xml</param-value> </context-param> // dispatcherServlet이 2개 이상 존재할 때 전역 Context를 생성 // 이 전역 Context를 통해 두 서블릿에 접근할 수 있게 해줌. <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> </context-param>
// web.xml // DispatcherServlet 설정 <servlet> <servlet-name>appServlet</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> </servlet> <servlet-mapping> <servlet-name>appServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
<context:component-scan base-package="org.zerock.springex2.controller"/>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/views/"></property> <property name="suffix" value=".jsp"></property> </bean>