하이버 + 스프링 관련 XML Template

fk25.xml
사용자 삽입 이미지위 화면에서 import로 등록하시면 다음과 같은 template 코드를 XML에서 사용하실 수 있습니다.

1. Spring 설정파일 XML
name: springContext
code:

<?xml version=”1.0″ encoding=”UTF-8″?>
<beans xmlns=”http://www.springframework.org/schema/beans”
    xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
    xmlns:aop=”http://www.springframework.org/schema/aop”
    xmlns:context=”http://www.springframework.org/schema/context”
    xmlns:jee=”http://www.springframework.org/schema/jee”
    xmlns:lang=”http://www.springframework.org/schema/lang”
    xmlns:p=”http://www.springframework.org/schema/p”
    xmlns:tx=”http://www.springframework.org/schema/tx”
    xmlns:util=”http://www.springframework.org/schema/util”
    xsi:schemaLocation=”http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
        http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
        http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd”>

    <context:component-scan base-package=”${cursor}” />
   
</beans>

2. Session Factory 설정파일
name: sessionFactory
code:

    <bean id=”sessionFactory”
        class=”org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean”>
        <property name=”dataSource” ref=”dataSource” />
        <property name=”hibernateProperties”>
            <props>
                <prop key=”hibernate.dialect”>org.hibernate.dialect.HSQLDialect</prop>
                <prop key=”hibernate.show_sql”>true</prop>
                <prop key=”hibernate.format_sql”>true</prop>
                <prop key=”hibernate.hbm2ddl.auto”>update</prop>
                <prop key=”hibernate.connection.autocommit”>false</prop>
            </props>
        </property>
        <property name=”annotatedClasses” ref=”annotatedClasses” />
    </bean>

    <util:list id=”annotatedClasses”>
        <value>${cursor}</value>
    </util:list>

3. datasource
name: datasource
code:

    <bean id=”dataSource”
        class=”org.apache.commons.dbcp.BasicDataSource”>
        <property name=”driverClassName” value=”org.hsqldb.jdbcDriver” />
        <property name=”url” value=”jdbc:hsqldb:hsql://localhost” />
        <property name=”username” value=”sa” />
        <property name=”password” value=”” />
    </bean>

4. transactionManager
name: transactionManager
code:

    <bean id=”transactionManager”
        class=”org.springframework.orm.hibernate3.HibernateTransactionManager”
        p:dataSource-ref=”dataSource” p:sessionFactory-ref=”sessionFactory” />

    <tx:annotation-driven transaction-manager=”transactionManager” />

5. 기타
name: web.log4j  <= web.xml 에 추가해줄 log4j 관련 설정
name: web.encoding <= web.xml에 추가해줄 UTF-8로 인코딩 설정
name: web.hibernateOSIV <= 하이버네이트 Open Session In View 필터 설정, 이 녀석은 handlerMapping에 interceptor를 등록해도 되는데, 일단은…
name: web.springMVC <= web.xml에 추가해줄 Dispatcher Servlet 설정.
name: web.springContext <= web.xml에 추가해줄 Spring Context Loader Listener 설정.
name: viewResolver <= 이녀석은 web.xml에 포함되지 않으므로 web. 을 안붙였는데 나중에 spring. 을 앞에 붙여줄까 합니다. spring.handlerMapping 을 만들면서 수정해야겠습니다.

맨 위의 파일을 import 하셨으면 다음과 같이 위의 템플릿이 추가된 것을 확인할 수 있습니다.

사용자 삽입 이미지
그럼 이제 XML 파일에서 사용하시면 됩니다. 가장 자주 사용하는 스프링 설정 파일의 경우 Spring IDE를 사용해서 만들어도 되지만, 저는 저렇게 탬플릿 등록해놓고 쓰는게 좀 더 빠르고 편한 것 같습니다.

1. springContxt는 tag가 아니라, new xml 타입으로 설정해 두었기 때문에 XML에서 아무것도 입력하지 않은 상태에서 Ctrl + Space를 클릭하면 다음과 같이 선택할 수 있는 창이 뜹니다.

사용자 삽입 이미지
2. 그밖에 Tag로 설정해둔 탬플릿은 name의 일부를 입력한 다음 Ctrl + Space를 클릭하면 볼 수 있습니다. 아.. Ctrl + Space를 먼저 입력한 다음에 name의 일부를 입력하셔도 됩니다. 어차피 자동완성이 발동 된 후에 검색을 시작하기 때문에 후자의 방법이 더 편할 수도 있습니다.

사용자 삽입 이미지
이 간단한 파일을 스프링 하이버 관련
1. Java Template
2. XML Template

위 두 개의 파일을 차차 업그레이드 해갈 계획입니다.

98% Line Coverage

신기록 수립 기념 샷

사용자 삽입 이미지
커퍼리지가 낮은 패키지의 클래스 별 커버리지
사용자 삽입 이미지
커버리지가 젤 낮은 클래스의 코드
사용자 삽입 이미지
흠.. 어쩌다가 공백이 생겼는지 몰겠네요. 리팩터링으로 시작을 했으나, 리팩터링의 범주를 넘어서 소스를 수정하다보니 저런 공백이 발생하는 것 같습니다.

코드 커버리지가 높다고 해서 에러가 없는 코드나 좋은 코드라고 할 수는 없지만, 왠지 기분은 좋은데요~ㅎㅎ;