http://wiki.javajigi.net/pages/viewpage.action?pageId=469
Added by 박재성, last edited by 박재성 on 9월 22, 2005

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로 접근한다.

번호 제목 글쓴이 날짜 조회 수
공지 [작성중/인프런] 스프링부트 시큐리티 & JWT 강의 황제낙엽 2023.12.20 5083
84 @ConfigurationProperties 사용하기 황제낙엽 2025.10.23 1617
83 Spring Boot 에서 서버 로직의 역할별 애노테이션 구분 황제낙엽 2025.10.13 1411
82 (확인전) [2021.03.12] Eclipse에서 Spring Boot로 JSP사용하기(Gradle) file 황제낙엽 2023.12.23 2817
81 Spring Boot PetClinic Sample Application 황제낙엽 2023.12.21 2575
80 Eclipse, Spring Boot, Gradle, SVN 레거시(2019) 시스템 유지보수 환경 구축 file 황제낙엽 2023.11.14 1732
79 [시리즈 강좌] 스프링부트로 웹서비스 구축하기 황제낙엽 2023.07.13 1691
78 Spring Boot에서의 RESTful API 모듈 file 황제낙엽 2020.04.16 1896
77 [POST] Spring MVC 구조 분석 황제낙엽 2024.01.17 2053
76 Spring Framework 에서 사용하는 annotation 황제낙엽 2024.01.17 2093
75 Spring MVC configuration file 황제낙엽 2024.01.17 2041
74 [스프링 시큐리티 OAuth2] 강의 자료와 학습용 소스 file 황제낙엽 2024.01.15 1595
73 OAuth 2.0 Resource Server - Spring Security OAuth2.0 황제낙엽 2023.12.27 2016
72 Spring, JSP, Gradle, Eclipse 환경 구축[2] - 샘플 프로젝트 file 황제낙엽 2023.12.24 1922
71 Spring, JSP, Gradle, Eclipse 환경 구축[1] - 레퍼런스 조사 황제낙엽 2023.12.23 2056
70 spring-security-samples 황제낙엽 2023.12.22 1800
69 [Bard] Spring 과 Spring Boot의 차이 file 황제낙엽 2023.12.21 1803
68 Spring 과 Spring Boot의 차이 file 황제낙엽 2020.05.26 2308
67 Spring Security OAuth2.0 파헤치기 황제낙엽 2019.09.05 2079
66 Spring Security OAuth2구현 file 황제낙엽 2019.09.05 2208
65 Spring Security OAuth 황제낙엽 2019.09.05 2442