Equinox를 이용하여 Spring 기반의 샘플 애플리케이션 생성하는 방법

Toggle Space Navigation Tree
Space Map

Equinox를 이용한 개발 방법

AppFuse를 이용할 경우 개발하게 될 애플리케이션에 비하여 너무 복잡도가 높아질 수 있다. 이 같은 단점을 보완하기 위한 일환으로 Equinox를 이용하여 시작하는 것도 좋은 대안이라고 생각한다. Equinox는 AppFuse에서 개발한 Sample 애플리케이션이다. Sample 애플리케이션의 단순함으로 인해서 이 프로젝트를 기반으로 개발 환경을 세팅해도 좋을 것으로 생각한다.

Equinox를 이용할 경우 간단한 사용자 관리 프로젝트를 Spring JDBC, Spring + Velocity, Struts + Spring등 다양한 프레임워크와의 통합된 예제 소스로 구현하는 것이 가능하다.

다음 받은 Equinox의 extras 디렉토리 하위의 각 디렉토리 내에서 빌드를 해줄 경우 다양한 프레임워크 조합의 Equinox 예제를 생성할 수 있다.

Equinox를 설치 및 배포하기 위해서는 ANT가 설치되어 있어야 한다.

Equinox를 Hibernate + MySQL에 세팅하기

  • 먼저 http://raibledesigns.com/page/rd?anchor=ann_equinox_1_4_released에서 Equinox 최신 버전을 다운 받아 압축을 푼다. 압축을 푼 디렉토리를 EQUINOX_HOME으로 한다.
  • MySQL을 설치한 다음 Equinox가 사용할 데이터베이스를 생성한다. 이 문서에서는 equinox 라는 데이터베이스를 생성하였다.
  • Tomcat 서버를 설치한 다음 시스템 환경 변수에 CATALINA_HOME을 세팅한다.
  • EQUINOX_HOME/web/WEB-INF/classes/jdbc.properties.mysql 파일을 열어 데이터베이스 정보를 수정한 다음 jdbc.properties로 이름을 변경한다. Equinox 1.4에서 디폴트로 지원하는 데이터베이스는 postgres이다. 디폴트로 제공하는 jdbc.properties파일은 다른 이름으로 변경한다.
  • EQUINOX_HOME/web/WEB-INF/applicationContext-hibernate.xml 파일을 열어 hibernate.dialect을 org.hibernate.dialect.PostgreSQLDialect에서 org.hibernate.dialect.MySQLDialect로 변경한다.
  • Prompt에서 "ant deploy"를 실행하여 Equinox 애플리케이션을 Deploy한다.
  • http://localhost:8080/equinox로 접근한다.

Equinox를 Spring JDBC + MySQL에 세팅하기

  • 먼저 http://raibledesigns.com/page/rd?anchor=ann_equinox_1_4_released에서 Equinox 최신 버전을 다운 받아 압축을 푼다. 압축을 푼 디렉토리를 EQUINOX_HOME으로 한다.
  • EQUINOX_HOME/extras/spring-jdbc 디렉토리에서 "ant install"을 실행하여 Equinox가 Spring JDBC를 사용하도록 한다.
  • MySQL을 설치한 다음 Equinox가 사용할 데이터베이스를 생성한다. 이 문서에서는 equinox 라는 데이터베이스를 생성하였다.
  • EQUINOX_HOME/src/org/appfuse/dao/jdbc 디렉토리로 보면 hsql과 postgres 데이터베이스를 지원하기 위한 SQL파일이 있다. 이 SQL을 참조하여 MySQL 데이터베이스 지원이 가능하도록 쿼리를 수정한 다음 equinox 데이터베이스에 테이블을 생성한다.
MySQL용 SQL
create table app_user 
   (id bigint not null primary key, first_name varchar(50), last_name varchar(50), birthday timestamp);
create table user_sequence (value int not null);
insert into user_sequence values(0);
  • Tomcat 서버를 설치한 다음 시스템 환경 변수에 CATALINA_HOME을 세팅한다.
  • EQUINOX_HOME/web/WEB-INF/classes/jdbc.properties.mysql 파일을 열어 데이터베이스 정보를 수정한 다음 jdbc.properties로 이름을 변경한다. Equinox 1.4에서 디폴트로 지원하는 데이터베이스는 postgres이다. 디폴트로 제공하는 jdbc.properties파일은 다른 이름으로 변경한다.
  • EQUINOX_HOME/web/WEB-INF/applicationContext-jdbc.xml 파일을 열어 org.springframework.jdbc.support.incrementer.PostgreSQLSequenceMaxValueIncrementer 에서 org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer로 변경한다. 또한 주석처리되어 있는 columnName 속성의 주석을 푼다. 이 문서에서는 칼럼이름을 value로 사용하고 있다.
MySQL용 시퀀스를 사용하기 위해 수정된 applicationContext-jdbc.xml
<bean id="userIncrementer" class="org.springframework.jdbc.support.incrementer.MySQLMaxValueIncrementer">
    <property name="dataSource" ref="dataSource"/>
    <property name="incrementerName" value="user_sequence"/>
    <property name="columnName" value="value"/>
</bean>

Equinox의 View로 Velocity를 사용할 수 있도록 세팅하기

  • 먼저 http://raibledesigns.com/page/rd?anchor=ann_equinox_1_4_released에서 Equinox 최신 버전을 다운 받아 압축을 푼다. 압축을 푼 디렉토리를 EQUINOX_HOME으로 한다.
  • EQUINOX_HOME/extras/spring-velocity 디렉토리에서 "ant install"을 실행하면 Equinox 애플리케이션이 JSP대신 Velocity를 이용하여 애플리케이션을 구축할 수 있도록 지원하게 된다.
  • Prompt에서 "ant deploy"를 실행하여 Equinox 애플리케이션을 Deploy한다.
  • http://localhost:8080/equinox로 접근한다.
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. 12월 12, 2005

    Anonymous says:

    이거 그대로 따라하면 정말 쉽게 Sample 페이지를 볼수 있습니다. 이것 저것 클릭해 보아도 정말 탄탄하게 구성된 쌤플 페이지 입니다. 근데 ...

    이거 그대로 따라하면 정말 쉽게 Sample 페이지를 볼수 있습니다.
    이것 저것 클릭해 보아도 정말 탄탄하게 구성된 쌤플 페이지 입니다.
    근데 막상 분석할려고 하면...
    DAO,Model 부분은 금방 이해가고, 쉽게 다른 예제로 변환 가능 합니다.
    문제는...
    어떻게 프리젠테이션 layer와 연동되는지 관련 설정파일 다 뒤지고...
    반복적으로 ant install -> ant deploy 해도....
    user.html 이란걸 찾기 힘드네요.. ㅡㅜ

    1. 1월 02, 2006

      Anonymous says:

      user.html 은 action-servlet.xml 파일에 설정 되어있습니다.

      user.html 은 action-servlet.xml 파일에 설정 되어있습니다.

  2. 12월 30, 2005

    Anonymous says:

    oracle에서 jdbc.properties 설정하는 법좀 알려주세요

    oracle에서
    jdbc.properties 설정하는 법좀 알려주세요

    1. 12월 30, 2005

      Anonymous says:

      lib에 classes12.jar추가하고 jdbc.driverClassName=oracle.jdbc.driver.OracleDriver jdbc...

      lib에 classes12.jar추가하고
      jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
      jdbc.url=jdbc:oracle:thin:@150.11.11.71:1521:OASIS
      jdbc.username=scott
      jdbc.password=tiger
      이런식으로 설정해서 DB Connection은 되는데..
      톰캣에 로드가 안되네요..^^;
      단지 로딩해보는 것 뿐인데..어렵네요..

      1. 8월 29, 2007

        Anonymous says:

        worder

        worder

  3. 1월 02, 2006

    Anonymous says:

    user.html 은 action-servlet.xml 파일에 설정 되어있습니다.

    user.html 은 action-servlet.xml 파일에 설정 되어있습니다.

  4. 2월 28, 2007

    Anonymous says:

    mysql 5.X 대는 tomcat 에서 구동이 안되고 mysql 4.X 대는 되는군요.

    mysql 5.X 대는 tomcat 에서 구동이 안되고
    mysql 4.X 대는 되는군요.

  5. 3월 27, 2007

    Anonymous says:

    eclipse 상에서 셋팅 할 수는 없나요 제 짧은 지식으론 eclipse 내에 ANT와 Equinox모두 포함되어 있다고 하는데, 고수님들...

    eclipse 상에서 셋팅 할 수는 없나요
    제 짧은 지식으론 eclipse 내에 ANT와 Equinox모두 포함되어 있다고 하는데,
    고수님들 답변부탁드립니다.

    1. 8월 30, 2007

      Anonymous says:

      mvn eclipse:eclipse -DdownloadSources=true 를 실행하면 eclipse용 프로젝트 형식으로 설정됩니다. 그리고...

      mvn eclipse:eclipse -DdownloadSources=true 를 실행하면 eclipse용 프로젝트 형식으로 설정됩니다.
      그리고나서 해당 프로젝트를 import하시면 eclipse에서 설정가능하게 됩니다.

  6. 2월 02, 2009

    Anonymous says:

    이클립스상에서 셋팅을 할수 있다고 하셨는데요. 좀 더 상세한 설명을 부탁드립니다. 아래 명령은 어디서 어떻게 하는지도 모르는 초보가 !!!!...

    이클립스상에서 셋팅을 할수 있다고 하셨는데요.

    좀 더 상세한 설명을 부탁드립니다.

    아래 명령은 어디서 어떻게 하는지도 모르는 초보가 !!!!!!
    mvn eclipse:eclipse -DdownloadSources=true

    1. 2월 02, 2009

      박재성 says:

      Equinox는 현재 Maven으로 빌드하도록 구현되어 있습니다. 따라서 위 과정을 이해하기 위해서는 Maven을 이해해야 합니다. http:...

      Equinox는 현재 Maven으로 빌드하도록 구현되어 있습니다. 따라서 위 과정을 이해하기 위해서는 Maven을 이해해야 합니다.

      http://wiki.javajigi.net/display/IDE/Maven 보시면 Maven과 관련한 설치 및 기본적인 개념을 이해할 수 있을 겁니다. 먼저 Maven 이해한 후에 Appfuse 프로젝트를 분석하시는게 좋습니다.

Add Comment