intellij 로 개발할때 전자정부 표준 프레임워크 적용에 다소 애로 사항이 있어서 최소 호환성 가이드 내 개발을 위한 메모
1. Maven 에서 최소한 아래 라이브러리 Dependency 필요
egovframework.ret.ptl.mvc.jar egovframework.ret.fdl.cmmn.jar egovframework.ret.psl.dataacess.jar egovframework.ret.fdl.logging.jar |
pom.xml
...
<repositories>
<repository>
<id>mvn2s</id>
<url>https://repo1.maven.org/maven2/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
<repository>
<id>egovframe</id>
<url>https://maven.egovframe.go.kr/maven/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<dependencies>
.....
.....
<!-- egovframework.rte -->
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.ptl.mvc</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<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>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.logging</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<!-- 아래꺼는 필요 할때
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.idgnr</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.property</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.security</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.excel</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.bat.core</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.crypto</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
<dependency>
<groupId>egovframework.rte</groupId>
<artifactId>egovframework.rte.fdl.access</artifactId>
<version>${egovframework.rte.version}</version>
</dependency>
-->
</dependencies>
....
....
2. 설정파일들은 특정위치에 존재 해야 한다.
대상 : xml 파일중 beans 또는 sqlMap 를 가진 파일
프로젝트 루트에 위치 할 수 없으며 공통적인 상위 디렉토리를 가져야 한다. (WEB-INF & target 폴더는 해당 없음)
즉. 공통 설정 폴더를 만들고 해당 폴더에 설정을 다 모아둬야 한다.
전자정부 모듈의 경우 /src/main/resources/egovframework 폴더내 다수의 폴더에 분산 되어 있다.
3. DAO 클래스는 전자정부 표준 아키텍처를 준수 해야 함.
대상 : sql 매핑이용 쿼리 호출, @Repository 가짐, EgovAbstractDAO 를 상속, SqlMapClientDaoSupport 를 상속
ibatis 일 경우 EgovAbstractDAO 를 상속 받아야 함.
mybatis 일 경우 EgovAbstractMapper 를 상속 받아야함.
4. Controller 는 Model( DB) 을 직접 호출 할 수 없다.
대상 : @Controller, @RequestMapping, @RequestParam, @ModelAttribute, @SessionAttribute
즉 Db 불러 올때는 Service 에서 호출 하게 만들고 Controller 에서는 해당 Service 를 호출 하라.
5. Service 클래스는 EgovAbstractServiceImpl (2.7 이하 버전은 AbstractServiceImpl) 을 확장해야 한다.
대상 : @Service
6. 표준프레임워크 확장시
egovframework.rte 패키지 내에 정의될 수 없다.
Egov 라는 이름으로 시작할 수 없다.
7.점검 대상 프로젝트는
1개 이상의 실행환경 라이브러리가 존재해야 함.
1개 이상의 DAO 클래스가 있어야 함.
1개 이상의 Service 클래스가 있어야 함.
공통 모듈이랑은 너무 많고... 호환성 준수가 필요한 상황이 있을때 찾아보기 쉽게..