상세 컨텐츠

본문 제목

전자정부 프레임웍 연계구축_01

JSP·자바·코틀린

by 김일국 2019. 11. 27. 17:05

본문

이전 포스트 [스프링 웹프로젝트 연습 소스_]를 기반으로 전자정부프레임웍과 연계해서 구축해 보았습니다.

결과: http://edu.paas-ta.org/

- 표준프레임워크 적용방안 3가지(신규구축, 연계구축, 병행구축)중 연계구축? or 병행구축? 방식으로 적용(아래그림참조)

- egov(표준프레임워크)3.5.x( https://github.com/eGovFrame/egovframe.rte.3.5 ) 와 new스프링앱 비교

   egov3.5.x (jdk1.8, Spring4.1.2, Mybatis3.3.0) / new스프링앱(open-jdk1.8.4, Spring4.3.2, Mybatis3.2.8)

- 연계구축 예)

import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
@Service
public class 구현클래스명 extends EgovAbstractServiceImpl implements 인터페이스 클래스명{
 ...
}

- 기술문서참조: https://appsnuri.tistory.com/429 ( EgovAbstractServiceImpl클래스 사용 )

- 기술문서참조: https://micropilot.tistory.com/2780 (EgovAbastactMapper 클래스 사용)

- 아래는 수동으로 적용시 필요하고, Maven pom.xml 사용시 (아래 Ps2.참조) 자동으로 다운 받으므로 필요없음.

egovframework.rte.fdl.cmmn-3.5.0.jar 사용 ( /src/main/webapp/WEB-INF/lib 폴더에 필요한 jar파일 복사후 import 적용

 WEB_INF_lib.zip (10개의 파일 존재함- 필수적인 2개의 jar만 dependency import 함.)

- dependency import 한 파일명 2개: egovframework.rte.fdl.cmmn-3.5.0.jar , egovframework.rte.psl.dataaccess-3.5.0.jar


- 전자표준정부프레임워크 검수체크시 고려사항 7가지.(아래)
   MVC패턴 ( JSP -> Controller-VO -> Service-VO -> DAO-SQL ) - 모델2 MVC 기존 적용됨
1. Controller사용: MVC패턴사용체크를 @Controller 애노테이션 사용여부로 판단. -기존 적용됨
2. 비지니스구현에 @Servce 애노테이션사용: interface클래스 생성. -기존 적용됨

 -> 인터페이스명impl클래스는 반드시 extends EgovAbstractServiceImpl 사용 후 implements 인터페이스명).
3. 반드시 EgovAbstractServiceImpl 인터페이스사용. -*신규적용 import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;

- @Service (Board서비스, Reply서비스, Member서비스 에 모두 적용)
   public class BoardServiceImpl extends EgovAbstractServiceImpl implements IF_BoardService {

4. 모델(DAO)구현에 @Repository 애노테이션사용: DAO클래스는 아래 둘중에 하나적용. -기존 적용됨
반드시 extends EgovAbstractDAO 적용(iBatis). -*신규적용 import egovframework.rte.psl.dataaccess.EgovAbstractDAO;
반드시 extends EgovAbstractMapper(MyBatis). -*신규적용 import egovframework.rte.psl.dataaccess.EgovAbstractMapper;

- @Repository (Board DAO, Reply DAO, Member DAO 에 모두 적용)
   public class BoardDAOImpl extends EgovAbstractMapper implements IF_BoardDAO {

5. sql mapping config xml로 매핑파일로 경로설정. -기존 직용됨 (root-context.xml 파일)
6. sql 매핑파일(쿼리) 사용. -기존 적용됨
7. 클래스간 데이터전달객체 VO(Value Object)클래스 사용. -기존 적용됨


#Ps1. 전자표준정부프레임웍 pom.xml 추가.

</properties>
  <egovframework.rte.version>3.5.0</egovframework.rte.version>
</properties>


<!-- egovframework.rte 필수 -->
<dependency>
   <groupId>egovframework.rte</groupId>
   <artifactId>egovframework.rte.fdl.cmmn</artifactId>
   <version>${egovframework.rte.version}</version>
 </dependency>  

<dependency>
   <groupId>egovframework.rte</groupId>
   <artifactId>egovframework.rte.psl.dataaccess</artifactId>
   <version>${egovframework.rte.version}</version>
 </dependency>


#Ps2. root-context.xml 파일 전자정부프레임웍연계구축으로 수정한 핵심부분.

  <bean id="sqlSession"
       class="org.mybatis.spring.SqlSessionFactoryBean">   
     <!--
      JDBC커넥션을 처리하는 DataSource와 mybatis를 연결.
      -->
   <property name="dataSource" ref="dataSource" /> 
   <!--
    mybatis 전용 설정파일을 스프링과 함께 작동하도록 연결함.
    /src/main/resources/mybatis-config.xml
    -->
   <property name="configLocation"
    value="classpath:/mybatis-config.xml"></property> 
   <!--
    MyBatis가 동작하면 XML Mapper를 인식하도록 함.
    /src/main/resources/mappers/memberMapper.xml
    mapperLocations라는 속성을 추가하고, 작성된 mappers 폴더내의 어떤 폴더에서건
    Mapper.xml로 끝나면 자동으로 인식하도록 함.
    -->    
  <property name="mapperLocations"
        value="classpath:mappers/**/*Mapper.xml"></property>
</bean> 
 <!--
  MyBatis에서 DAO를 이용하는 경우, SqlSessionTemplate라는 것을 이용해서 DAO를 구현함.
  mybatis-spring에서 제공하는 SqlSessionTempalte객체는 기본적인 트랜잭션 관리나 쓰레드 처리의
  안정성등을 보장해주고, 개발자들이 직접 DB 연결, 종료작업하는 것을 줄여줌.
  SqlSessionFactory를 생성자로 주입함.
  -->
 <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"
     destroy-method="clearCache">
   <constructor-arg name="sqlSessionFactory"
      ref="sqlSession"></constructor-arg>
 </bean>

<!-- egov 연계시 에러 발생 하는 부분 때문에 추가 -->

<bean id="leaveaTrace" class="egovframework.rte.fdl.cmmn.trace.LeaveaTrace">
     <property name="traceHandlerServices">
            <list>
                <ref bean="traceHandlerService" />
            </list>
     </property>
</bean>
<bean id="traceHandlerService" class="egovframework.rte.fdl.cmmn.trace.manager.DefaultTraceHandleManager">
     <property name="reqExpMatcher">
          <ref bean="antPathMater" />
     </property>
     <property name="patterns">
           <list>
               <value>*</value>
           </list>
     </property>
     <property name="handlers">
           <list>
               <ref bean="defaultTraceHandler" />
           </list>
      </property>
</bean>
<bean id="antPathMater" class="org.springframework.util.AntPathMatcher" />
<bean id="defaultTraceHandler" class="egovframework.rte.fdl.cmmn.trace.handler.DefaultTraceHandler" />

'JSP·자바·코틀린' 카테고리의 다른 글

전자정부 프레임웍 연계구축_03  (0) 2019.11.29
전자정부 프레임웍 연계구축_02  (0) 2019.11.28
스프링BOOT사용_2  (0) 2019.10.23
스프링BOOT사용_1  (0) 2019.10.21
스프링 웹프로젝트 연습_12  (0) 2019.10.20

관련글 더보기

댓글 영역