Whiteship's Note


1-3. 기본 설정 하기



src 폴더에 파일 두 개를 생성합니다. 하나는 log4j.properties 하나는 database.properties 입니다. log4j.properties파일은 logging과 관련된 설정파일이고 database.properties는 db 연결을 설정하는 것과 관련된 설정파일 같습니다. database.properties의 내용은 다음과 같습니다.

#
# data source jdbc connection
#

db.driver=org.postgresql.Driver
db.url=jdbc:postgresql:webapp2
db.username=postgres
db.password=webapp2


#
# hibernate
#

hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect

녹색 부분은 db 커넥션을 생성하기 위해 필요한 정보이고 아래 dialect는 hibernate가 각 db가 사용하는 SQL 방언을 사용하려면 그에 맞는 SQLDialect를 사용하도록 지정해 주는 부분이라고 합니다. 현재 DB는 PostgreSQL을 사용할 것이기 때문에 위와 같이 설정해 두었습니다.

pgaAdmin을 실행시켜서 본인이 사용하시는 환경과 커넥션 설정 부분을 일치 시켜줘야 할 것 같습니다.

src 폴더에 spring을 사용하기 위해 두 개의 파일을 추가로 생성합니다.
먼저 applicationContext-jdbc-datasource.xml 파일을 추가합니다.

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:database.properties</value>
            </list>
        </property>
    </bean>
   
    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
        <property name="driverClass" value="${db.driver}"/>
        <property name="jdbcUrl" value="${db.url}"/>
        <property name="user" value="${db.username}"/>
        <property name="password" value="${db.password}"/>
    </bean>

오호.. 덩달아 Spring 공부도 하게 됩니다. 기쁘군요. :) 앞에 정의한 db 커넥션 부분을 가져와서 dataSource에 설정하는 곳에서 사용하고 있습니다.

다음으로 applicationContext-dao.xml 파일을 추가합니다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
    "http://www.springframework.org/dtd/spring-beans.dtd">

<beans default-autowire="byName">
    <!-- ================================================================ -->
    <!--                       SessionFactory                             -->
    <!-- ================================================================ -->
    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" autowire="no">
        <property name="dataSource" ref="dataSource" />
        <!-- 요 사이에 나중에 뭔가 들어갑니다. --!>
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.show_sql">true</prop>
                <prop key="hibernate.hbm2ddl.auto">update</prop>
            </props>
        </property>
    </bean>

    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager" autowire="no">
        <property name="sessionFactory" ref="sessionFactory" />
    </bean>
</beans>

녹색 부분은 앞서 정의한 dialect 설정을 적용하는 것이고 show_sql을 true로 하면 실행이 될 때 콘솔창에 실행되는 sql문을 보여줍니다. hbm2ddl.auto를 update로 해두면 DB의 테이블을 매핑하고 있는 파일이 바뀌면 테이블도 바뀌게 된다고 합니다. 이 부분에 대한 설명을 찾아보니 다음과 같이 적혀 있습니다.

Automatically validate or export schema DDL to the database when the SessionFactory is created. With create-drop, the database schema will be dropped when the SessionFactory is closed explicitly.
출처 : http://www.hibernate.org/hib_docs/v3/reference/en/html/session-configuration.html

이제 설정은 끝났습니다.
top


1-2. 필요한 라이브러리들 추가



먼저 Eclise에서 프로젝트를 생성합니다. 저는 study로 생성하고 소스폴더는 src와 test를 만들겠습니다. 그리고 필요한 라이브러리 파일들을 모아두기 위해 lib라는 폴더를 만들겠습니다.

물개 선생님께서 앞으로 사용하게 될 라이브러리 목록들을 정리해 주셨습니다.
- hibernate-3.2 / hibernate3.jar
- hibernate-3.2 / lib / ant-antlr-1.6.5.jar
- hibernate-3.2 / lib / antlr-2.7.6.jar
- hibernate-3.2 / lib / c3p0-0.9.0.jar
- hibernate-annotations-3.2.1.GA / hibernate-annotations.jar
- spring-framework-2.0.1 / dist / spring.jar
- spring-framework-2.0.1 / dist / modules / spring-hibernate3.jar
- spring-framework-2.0.1 / lib / cglib / cglib-nodep-2.1_3.jar
- spring-framework-2.0.1 / lib / jakarta-commons / commons-collections.jar
- spring-framework-2.0.1 / lib / jakarta-commons / commons-logging.jar
- spring-framework-2.0.1 / lib / dom4j / dom4j-1.6.1.jar
- spring-framework-2.0.1 / lib / jpa / persistenec.jar (JPA)
- spring-framework-2.0.1 / lib / ehcache / ehcache-1.2.3.jar
- spring-framework-2.0.1 / lib / j2ee / jta.jar
- spring-framework-2.0.1 / lib /log4j / log4j-1.2.14.jar
- junit4.1 / junit-4.1.jar
C:/Program Files/PostgreSQL/8.1/jdbc/postgresql-8.1-405.jdbc3.jar
각각의 jar파일들이 어떤 곳에 필요한지는 공부가 필요한 상태입니다. 위 jar파일들을 찾아서 lib폴더로 복사줍니다.

프로젝트에서 lib폴더 안에 있는 jar파일을 모두 선택해 주고 오른쪽 마우스를 클릭하여 Add to BuildPath를 클릭하여 빌드 경로에 추가해 줍니다.

사용자 삽입 이미지

top


1-1. 프로젝트 관련 라이브러리 다운로드



OpenSeed Forum 인덱스OpenSeed Forum 인덱스OpenSeed Forum 인덱스OpenSeed Forum 인덱스OpenSeed Forum 인덱스
http://www.openseed.net/forum/ 이곳에서 만난 teacher.seal께 배운 강좌에 대한 복습이 시작 됩니다.

Hibernate와 Spring을 사용하여 간단한 프로젝트를 구성할 때 필요한 파일들을 다운로드 합니다.

먼저 Hibernate관련 소스는 http://www.hibernate.org/6.html 이곳에서 Hibernate Core와 Hibernate Annotations를 다운로드합니다.
사용자 삽입 이미지

Spring 소스는 http://www.springframework.org/download 이곳에서 2.0.1버젼의 download를 클릭한 뒤 with-dependencies를 다운로드 합니다.
사용자 삽입 이미지
거의 60MB 정도 합니다.[각주:1] 셋 중에서 덩치가 가장 크군요.

마지막으로 JUnit은 http://www.junit.org/index.htm 이곳의 상단 왼쪽에 download 메뉴를 클릭하면 자동으로 최신 버젼 다운로드를 할 수 있습니다.
사용자 삽입 이미지

아! 그리고 한가지 더! 사용할 DB에 따른 JDBC jar파일이 필요합니다. 물개 선생님과 예제 실습을 Postgres로 진행하기로 했습니다. 따라서 postgres로 다운 받아서 설치하셔야합니다.
http://www.postgresql.org/ftp/pgadmin3/release/v1.6.1/win32/ 이곳에서 다운로드를 하시고 설치를 하시면 됩니다.

Postgres를 제외한 다른 파일들은 D:\study\openSources 폴더 안에 모아두고 전부 압축을 풀었습니다.

사용자 삽입 이미지

일단 이것으로 준비물은 다 챙긴것 같습니다. :) 집에간 뒤에 계속하겠습니다.

top




: 1 : ··· : 4 : 5 : 6 : 7 :