SPRING&spring MVC

Hagi 2009. 10. 9. 02:33

 1. http://www.springsource.org/download 에서 버전에 맞는 Spring Framework를 찾는다. (이 경우는 2.5 선택)

 

 

* 실무에서 사용할 경우 enterprise를 선택(돈 주고 사야함) 

  연습하실 경우에는 왼쪽의 community를 선택

Community Download

 

1-1.  여기서 등록하지 않고 최하단의 그냥 다운로드하면 많이 편함

 

 

 2. 자신이 쓰고자하는 버전을 선택후 다운한다.

 

3. 다운로드한 것을 압축풀고, dist -> modules 폴더에 보면 설정을 위한 jar파일들이 기다리고 있다.

 

 

4. 리스너 설정

 

 

 4.1 이 경로는 이렇게 가져온다. lib에 jar파일들을 넣으면 src폴더 아래에 libraries에 Web App Libraries

      spring-web.jar에서 org.springframework.web.context 패키지 아래 ContextLoaderListener 클래스를 연다

 

 

5.  ContextConfigLocation 설정

간단한 프로젝트의 경우 WEB-INF 밑에 /WEB-INF/applicationContext.xml

그러나 복잡한 프로젝트의 경우 WEB-INF 아래 여러 폴더나 파일이 생기므로 /WEB-INF/config/applicationContext.xml

실무에서는 스프링으로 간단한 프로젝트를 할 경우는 거의 없을 것이므로 아래의 것(/WEB-INF/config/applicationContext.xml)과 같이 한다.

 

 

5.1 5의 설정과 같은 설정이나 게시판을 만들 때 member, board, attachfile,comment 4가지 모듈을 분리하여 설정한 것이다.

     그러나 이것도 잘 구분할 수 있다는 장점외에는 여러가지 모듈이 있을 경우 xml이 복잡해지므로 *을 붙여서 대체하는 것이 좋다.

 /WEB-INF/config/spring/applicationContext*.xml

 

 

 5.2 설정 후 /WEB-INF/config/spring/applicationContext-board.xml 하나만 xml을 작성하고 spring폴더에 드래그하면 

      xml의 이름만 바꾸면 귀찮음을 줄일 수 있다. (필수 사항은 아니고 팁임)

 

 

여기까지가 Spring Framework의 설정이고, Spring MVC Framework나 Struts를 쓰려면 추가 설정이 필요하다.

 
 
 

SPRING&spring MVC

Hagi 2009. 10. 9. 02:09

 이것은 스프링 설정에서 귀찮은 많은 것들을 줄여준다.  

Spring 설정 파일 편집을 보다 용이하게 해주기 위한 툴이다. 설정 파일에 대한 Validation Check, Spring 설정 시 Content Assist 지원, Bean간의 참조 관계를 나타내 주는 Graph 등을 제공하고 있다. (아래 사이트 참조)

 

더욱 자세한 사항 : http://dev.anyframejava.org/anyframe/doc/tools/1.3.0/supportingtools/guide/springide.html

 

<설정> 

 

 1.   http://www.springsourceforge.org/download

 

 

2. IDE(이클립스 등)에서 쓸것이므로 IDE로 가서 경로를 가져온다. Update site: http://dist.springframework.org/release/IDE

 

 

3. 이클립스에서  Help -> Software Updates의  Install 에서 add site한다. ( http://dist.springframework.org/release/IDE )

   AOP기능까지 정도 사용할 것이므로 Extensions까지만 체크하였다.

 

 

 
 
 

SPRING&spring MVC

Hagi 2009. 10. 8. 21:47

1.2. Usage scenarios

 

 

이 그림을 보면, 사용해야할 기본적이 jar파일이 나온다.

일단

Spring Core(spring-core.jar), => core utilities

Spring Web(spring-web.jar), => web application context, multipart resolver, Struts support, JSF support, web utilities

Spring Context(spring-context.jar) => application context, validation, JNDI,UI context support

이다.  

그리고 Spring Web MVC(spring-webmvc.jar) 이것에 대한 이유는 아래에 나온다.

=> framework servlet, web MVC framework, web controllers, web views

또 spring-framework-2.5.6.SEC01\dist\modules의 jar파일 목록을 살펴보면, spring-beans.jar가 있는데, 설정에서 클래스 관리를 위해 이것이 필요하다.  =>  support, bean container

(예)applicationContext.xml
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
  <property name="host" value="${mail.host}"/>
</bean>

 

아래 것들은 써보지 않아서 아직 ...

spring-jdbc.jar => JDBC support

 만약 iBATIS를 쓴다면,

spring-orm.jar => iBATIS SQL Maps support, Apache OJB support, TopLink? support, JDO support

 

참조 : http://www.system-trust.com/pukiwiki/?Spring%2F%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB%A4%C8%B3%AB%C8%AF%B4%C4%B6%AD

=========================================================================
2.7. Migrating to Spring 2.5

2.7.1. Changes

2.7.1.2. Jar packaging in Spring 2.5

As of Spring 2.5, Spring Web MVC is no longer part of the 'spring.jar' file. Spring MVC can be found in 'spring-webmvc.jar' and 'spring-webmvc-portlet.jar' in the lib/modules directory of the distribution. Furthermore, the Struts 1.x support has been factored out into 'spring-webmvc-struts.jar'.

스프링2.5부터 Spring Web MVC는 spring.jar파일에 없다. Spring MVC는 spring-webmvc.jar와 spring-webmvc-portlet.jar(lib/modules 디렉토리)에 있다.

Note: The commonly used Spring's DispatcherServlet is part of Spring's Web MVC framework. As a consequence, you need to add 'spring-webmvc.jar' (or'spring-webmvc-portlet/struts.jar') to a 'spring.jar' scenario, even if you are just using DispatcherServlet for remoting purposes (e.g. exporting Hessian or HTTP invoker services).

통상적으로 Spring의 DispatcherServlet 사용은 Spring MVC의 영역이다. 결론적으로,  단순히 조정기능을 쓰기 위해 DispatcherServlet을 사용하더라도,  spring-webmvc.jar나 spring-webmvc-portlet.jar을 써야한다. 

Spring 2.0's 'spring-jmx.jar' and 'spring-remoting.jar' have been merged into Spring 2.5's 'spring-context.jar' (for the JMX and non-HTTP remoting support) and partly into 'spring-web.jar' (for the HTTP remoting support).

스프링2.0의 spring-jmx.jar와 spring-remoting.jar파일은 스프링2.5에서 spring-context.jar파일로 통합되었다.

Spring 2.0's 'spring-support.jar' has been renamed to 'spring-context-support.jar', expressing the actual support relationship more closely.'spring-portlet.jar' has been renamed to 'spring-webmvc-portlet.jar', since it is technically a submodule of Spring's Web MVC framework. Analogously, 'spring-struts.jar' has been renamed to 'spring-webmvc-struts.jar'.

스프링2.0의 spring-support.jar파일은 spring-context-support.jar로 이름이 바뀌었다.(좀 더 지원하는 기능을 이름에서 명확하게 하였음) 또 spring-portlet.jar는 spring-webmvc-portlet.jar로 바뀌었는데, 이것이 Spring MVC에서 서브모듈이기 때문이다. spring-struts.jar는  spring-webmvc-struts.jar

Spring 2.0's 'spring-jdo.jar', 'spring-jpa.jar', 'spring-hibernate3.jar', 'spring-toplink.jar' and 'spring-ibatis.jar' have been combined into Spring 2.5's coarse-granular 'spring-orm.jar'.

Spring 2.5's 'spring-test.jar' supersedes the previous 'spring-mock.jar', indicating the stronger focus on the test context framework. Note that'spring-test.jar' contains everything 'spring-mock.jar' contained in previous Spring versions; hence it can be used as a straightforward replacement for unit and integration testing purposes.

Spring 2.5's 'spring-tx.jar' supersedes the previous 'spring-dao.jar' and 'spring-jca.jar' files, indicating the stronger focus on the transaction framework.

Spring 2.5 ships its framework jars as OSGi-compliant bundles out of the box. This facilitates use of Spring in OSGi environments, not requiring custom packaging anymore.

 

출처 : http://static.springsource.org/spring/docs/2.5.x/reference/new-in-2.html#new-in-2-migrating-packaging