SlideShare a Scribd company logo
1 of 9
Download to read offline
Page l 1
전자정부 표준프레임워크
실행환경
표준프레임워크 활용을 위한
세부 적용기준 및 정리
Page l 2
1. 개발 프레임워크 아키텍처 뷰
Page l 3
q Annotation 기반 Spring MVC 및 Layered architecture 준수
2. 아키텍처 적용규칙 (1/2)
대상 클래스 적용규칙
Controller 클래스
• 클래스 상단에 @Controller 선언
• URL Mapping 시 @RequestMapping 선언
• View 부분과 Model(business logic 및 data) 부분을 Controller를 통해 분리
ServiceImpl 클래스 • 클래스 상단에 @Service 선언
DAO/Mapper 클래스
• 클래스 상단에 @Repository 선언
• 단, MyBatis Mapper Interface 방식을 활용하는 경우 에는 @Mapper 선언
Page l 4
q 클래스 상속 및 인터페이스 구현 규칙
2. 아키텍처 적용규칙 (2/2)
대상 클래스 적용규칙
ServiceImpl 클래스
• AbstractServiceImpl 또는 EgovAbstractServiceImpl(3.0버전 이상)을 상속/확장하고, 업무에 대한
특정 Service 인터페이스를 구현하여야 함
DAO/Mapper 클래스
• EgovAbstractDAO(iBatis) 또는 EgovAbstractMapper(MyBatis)를 상속/확장하여야 함
• MyBatis Mapper Interface 방식의 경우, @Mapper 선언
• Hibernate/JPA 혹은 Spring Data JPA 방식의 경우, 정해진 규칙 없음
• ‘데이터처리 적용규칙’ 참조
Page l 5
q iBatis 적용 시 데이터 처리 방법 예시
– EgovAbstractDAO 클래스 상속/확장
– iBatis 사용을 위한 XML 설정파일 3가지
• iBatis 공통설정파일 ( <sqlMapConfig> ~ </sqlMapConfig> )
• SQL 매핑파일 ( <sqlMap> ~ </sqlMap> )
• SqlMapClientFactoryBean 빈설정
3. 데이터처리 적용규칙 (1/3)
public class EgovAbstractDAO extends SqlMapClientDaoSupport { … }
@Repository("employeeDao")
public class EmployeeDao extends EgovAbstractDAO { … }
Page l 6
q MyBatis 적용 시 데이터 처리 방법 예시 (1/2)
1) EgovAbstractMapper 클래스 상속/확장
– MyBatis 사용을 위한 XML 설정파일 3가지
• MyBatis 공통설정파일 ( <configuration> ~ </configuration> )
• SQL 매핑파일 ( <mapper> ~ </ mapper > )
• SqlSessionFactoryBean 빈설정
3. 데이터처리 적용규칙 (2/3)
public abstract class EgovAbstractMapper extends SqlSessionDaoSupport {
@Repository("employeeMapper")
public class EmployeeMapper extends EgovAbstractMapper { … }
Page l 7
q MyBatis 적용 시 데이터 처리 방법 예시 (2/2)
2) Mapper Interface 방식
– MyBatis Mapper Interface 사용을 위한 XML 설정파일 4가지
• MyBatis 공통설정파일 ( <configuration> ~ </configuration> )
• SQL 매핑파일 ( <mapper> ~ </ mapper > )
• SqlSessionFactoryBean 빈설정
• MapperConfigurer 빈설정
3. 데이터처리 적용규칙 (2/3)
@Mapper("employeeMapper")
public interface EmployeeMapper { … }
<!-- MapperConfigurer setup for MyBatis Database Layer -->
<bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value=" 스캔할 Mapper Interface가 속한 풀패키지명" />
</bean>
Page l 8
3. 데이터처리 적용규칙 (3/3)
q Spring Data JPA 적용 시 데이터 처리 방법 예시
– 다양한 persistence store(Big Data, NoSQL 등)를 지원하기 위한 데이터액세스 기술
– CrudRepository 또는 PagingAndSortingRepository를 상속하는 interface 방식의 Repository를 작성
q Hibernate/JPA 적용 시 데이터 처리 방법 예시
– DAO에서 SessionFactory(low level) 또는 HibernateTemplate/JpaTemplate 활용 또는
HibernateDaoSupport/JpaDaoSupport를 확장 또는 LocalContatinerEntityManagerFactoryBean 설정 등을 이
용
– 다음 코드는 LocalContatinerEntityManagerFactoryBean을 이용한 EntityManager 사용 방법 예시
public interface DepartmentRepository extends CrudRepository<Department, Long> { … }
public interface EmployeeRepository extends PagingAndSortingRepository<Employee, Long> { … }
public class UserDAO {
.
@PersistenceContext
private EntityManager entityManager;
public void createUser(User user) throws Exception {
entityManager.persist(user);
}
…
}
Page l 9
4. 활용 및 확장 규칙
q 표준프레임워크 실행환경 준수
– 표준프레임워크 실행환경은 적극적으로 활용되어야 함
– 실행환경 부분 임의 변경 금지
q 업무 클래스는 egovframework.rte 패키지 내에 정의될 수 없음
q 기타
– 이외에 개발환경, 운영환경 및 공통컴포넌트 부분은 선택적으로 적용 가능하며, 임의 변경 및 확장 가능함
– UI 부분에 RIA(Rich Internet Application)가 적용되는 경우는 UI Adaptor 또는 RESTful 방식을 적용 활용해
야 함
– 공통컴포넌트 적용을 검토한 후, 필요기능과의 차이를 분석하고 해당 업무에 최적화하여 활용

More Related Content

What's hot

What's hot (20)

03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)
 
01.표준프레임워크개요
01.표준프레임워크개요01.표준프레임워크개요
01.표준프레임워크개요
 
[오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC [오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC
 
03.[참고]개발환경 교육교재
03.[참고]개발환경 교육교재03.[참고]개발환경 교육교재
03.[참고]개발환경 교육교재
 
세미나 Spring mybatis
세미나 Spring mybatis세미나 Spring mybatis
세미나 Spring mybatis
 
03.모바일 실습교재(모바일 공통컴포넌트 실습)
03.모바일 실습교재(모바일 공통컴포넌트 실습)03.모바일 실습교재(모바일 공통컴포넌트 실습)
03.모바일 실습교재(모바일 공통컴포넌트 실습)
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
04.모바일 device api_실습교재
04.모바일 device api_실습교재04.모바일 device api_실습교재
04.모바일 device api_실습교재
 
[오픈소스컨설팅]MyBatis Basic
[오픈소스컨설팅]MyBatis Basic[오픈소스컨설팅]MyBatis Basic
[오픈소스컨설팅]MyBatis Basic
 
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
 
Spring MVC
Spring MVCSpring MVC
Spring MVC
 
Servlet3
Servlet3Servlet3
Servlet3
 
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
 
02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)
 
#32.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#32.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#32.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#32.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
 
자바 서블릿과 세션 (Java Servlet, Session)
자바 서블릿과 세션 (Java Servlet, Session)자바 서블릿과 세션 (Java Servlet, Session)
자바 서블릿과 세션 (Java Servlet, Session)
 
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
 
(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기
(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기
(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기
 
#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천
#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천
#2.SQL초보에서 Schema Objects까지_재직자/근로자환급/국비지원교육/IT실무교육/SQL기초교육/구로IT학원추천
 
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
 

Similar to 07.실행환경 교육교재(표준프레임워크 세부 적용기준)

실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
Amazon Web Services Korea
 
ibatis_khhan
ibatis_khhanibatis_khhan
ibatis_khhan
ohgamja3
 

Similar to 07.실행환경 교육교재(표준프레임워크 세부 적용기준) (20)

실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
 
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
 
Introduction to Apache Tajo
Introduction to Apache TajoIntroduction to Apache Tajo
Introduction to Apache Tajo
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docx
 
Spark sql
Spark sqlSpark sql
Spark sql
 
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
 
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개
 
From MSSQL to MariaDB
From MSSQL to MariaDBFrom MSSQL to MariaDB
From MSSQL to MariaDB
 
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육
 
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
 
Azure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDBAzure Databases for PostgreSQL MYSQL and MariaDB
Azure Databases for PostgreSQL MYSQL and MariaDB
 
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
 
ibatis_khhan
ibatis_khhanibatis_khhan
ibatis_khhan
 
Ibatis
IbatisIbatis
Ibatis
 
MySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptxMySQL_MariaDB-성능개선-202201.pptx
MySQL_MariaDB-성능개선-202201.pptx
 
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
 
Rails style-guide-2
Rails style-guide-2Rails style-guide-2
Rails style-guide-2
 
함수형사고 실용적사고
함수형사고 실용적사고함수형사고 실용적사고
함수형사고 실용적사고
 
[스프링 스터디 3일차] @MVC
[스프링 스터디 3일차] @MVC[스프링 스터디 3일차] @MVC
[스프링 스터디 3일차] @MVC
 
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Larva - 멀티클라우드 인프라 및 응용을 위한 네트워킹 (Networking f...
 

More from Hankyo (15)

01.실행환경 실습교재(공통기반)
01.실행환경 실습교재(공통기반)01.실행환경 실습교재(공통기반)
01.실행환경 실습교재(공통기반)
 
01.공통컴포넌트 교육교재
01.공통컴포넌트 교육교재01.공통컴포넌트 교육교재
01.공통컴포넌트 교육교재
 
06.실행환경 실습교재(easy company,해답)
06.실행환경 실습교재(easy company,해답)06.실행환경 실습교재(easy company,해답)
06.실행환경 실습교재(easy company,해답)
 
06.실행환경 실습교재(easy company,문제)
06.실행환경 실습교재(easy company,문제)06.실행환경 실습교재(easy company,문제)
06.실행환경 실습교재(easy company,문제)
 
02.모바일 실습교재(ux component)
02.모바일 실습교재(ux component)02.모바일 실습교재(ux component)
02.모바일 실습교재(ux component)
 
02.개발환경 실습교재
02.개발환경 실습교재02.개발환경 실습교재
02.개발환경 실습교재
 
02.[참고]오픈소스sw라이선스가이드라인
02.[참고]오픈소스sw라이선스가이드라인02.[참고]오픈소스sw라이선스가이드라인
02.[참고]오픈소스sw라이선스가이드라인
 
02.공통컴포넌트 실습교재
02.공통컴포넌트 실습교재02.공통컴포넌트 실습교재
02.공통컴포넌트 실습교재
 
Ch05
Ch05Ch05
Ch05
 
Ch04
Ch04Ch04
Ch04
 
Ch03
Ch03Ch03
Ch03
 
Ch02
Ch02Ch02
Ch02
 
Ch11
Ch11Ch11
Ch11
 
Ch10
Ch10Ch10
Ch10
 
Ch09
Ch09Ch09
Ch09
 

07.실행환경 교육교재(표준프레임워크 세부 적용기준)

  • 1. Page l 1 전자정부 표준프레임워크 실행환경 표준프레임워크 활용을 위한 세부 적용기준 및 정리
  • 2. Page l 2 1. 개발 프레임워크 아키텍처 뷰
  • 3. Page l 3 q Annotation 기반 Spring MVC 및 Layered architecture 준수 2. 아키텍처 적용규칙 (1/2) 대상 클래스 적용규칙 Controller 클래스 • 클래스 상단에 @Controller 선언 • URL Mapping 시 @RequestMapping 선언 • View 부분과 Model(business logic 및 data) 부분을 Controller를 통해 분리 ServiceImpl 클래스 • 클래스 상단에 @Service 선언 DAO/Mapper 클래스 • 클래스 상단에 @Repository 선언 • 단, MyBatis Mapper Interface 방식을 활용하는 경우 에는 @Mapper 선언
  • 4. Page l 4 q 클래스 상속 및 인터페이스 구현 규칙 2. 아키텍처 적용규칙 (2/2) 대상 클래스 적용규칙 ServiceImpl 클래스 • AbstractServiceImpl 또는 EgovAbstractServiceImpl(3.0버전 이상)을 상속/확장하고, 업무에 대한 특정 Service 인터페이스를 구현하여야 함 DAO/Mapper 클래스 • EgovAbstractDAO(iBatis) 또는 EgovAbstractMapper(MyBatis)를 상속/확장하여야 함 • MyBatis Mapper Interface 방식의 경우, @Mapper 선언 • Hibernate/JPA 혹은 Spring Data JPA 방식의 경우, 정해진 규칙 없음 • ‘데이터처리 적용규칙’ 참조
  • 5. Page l 5 q iBatis 적용 시 데이터 처리 방법 예시 – EgovAbstractDAO 클래스 상속/확장 – iBatis 사용을 위한 XML 설정파일 3가지 • iBatis 공통설정파일 ( <sqlMapConfig> ~ </sqlMapConfig> ) • SQL 매핑파일 ( <sqlMap> ~ </sqlMap> ) • SqlMapClientFactoryBean 빈설정 3. 데이터처리 적용규칙 (1/3) public class EgovAbstractDAO extends SqlMapClientDaoSupport { … } @Repository("employeeDao") public class EmployeeDao extends EgovAbstractDAO { … }
  • 6. Page l 6 q MyBatis 적용 시 데이터 처리 방법 예시 (1/2) 1) EgovAbstractMapper 클래스 상속/확장 – MyBatis 사용을 위한 XML 설정파일 3가지 • MyBatis 공통설정파일 ( <configuration> ~ </configuration> ) • SQL 매핑파일 ( <mapper> ~ </ mapper > ) • SqlSessionFactoryBean 빈설정 3. 데이터처리 적용규칙 (2/3) public abstract class EgovAbstractMapper extends SqlSessionDaoSupport { @Repository("employeeMapper") public class EmployeeMapper extends EgovAbstractMapper { … }
  • 7. Page l 7 q MyBatis 적용 시 데이터 처리 방법 예시 (2/2) 2) Mapper Interface 방식 – MyBatis Mapper Interface 사용을 위한 XML 설정파일 4가지 • MyBatis 공통설정파일 ( <configuration> ~ </configuration> ) • SQL 매핑파일 ( <mapper> ~ </ mapper > ) • SqlSessionFactoryBean 빈설정 • MapperConfigurer 빈설정 3. 데이터처리 적용규칙 (2/3) @Mapper("employeeMapper") public interface EmployeeMapper { … } <!-- MapperConfigurer setup for MyBatis Database Layer --> <bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer"> <property name="basePackage" value=" 스캔할 Mapper Interface가 속한 풀패키지명" /> </bean>
  • 8. Page l 8 3. 데이터처리 적용규칙 (3/3) q Spring Data JPA 적용 시 데이터 처리 방법 예시 – 다양한 persistence store(Big Data, NoSQL 등)를 지원하기 위한 데이터액세스 기술 – CrudRepository 또는 PagingAndSortingRepository를 상속하는 interface 방식의 Repository를 작성 q Hibernate/JPA 적용 시 데이터 처리 방법 예시 – DAO에서 SessionFactory(low level) 또는 HibernateTemplate/JpaTemplate 활용 또는 HibernateDaoSupport/JpaDaoSupport를 확장 또는 LocalContatinerEntityManagerFactoryBean 설정 등을 이 용 – 다음 코드는 LocalContatinerEntityManagerFactoryBean을 이용한 EntityManager 사용 방법 예시 public interface DepartmentRepository extends CrudRepository<Department, Long> { … } public interface EmployeeRepository extends PagingAndSortingRepository<Employee, Long> { … } public class UserDAO { . @PersistenceContext private EntityManager entityManager; public void createUser(User user) throws Exception { entityManager.persist(user); } … }
  • 9. Page l 9 4. 활용 및 확장 규칙 q 표준프레임워크 실행환경 준수 – 표준프레임워크 실행환경은 적극적으로 활용되어야 함 – 실행환경 부분 임의 변경 금지 q 업무 클래스는 egovframework.rte 패키지 내에 정의될 수 없음 q 기타 – 이외에 개발환경, 운영환경 및 공통컴포넌트 부분은 선택적으로 적용 가능하며, 임의 변경 및 확장 가능함 – UI 부분에 RIA(Rich Internet Application)가 적용되는 경우는 UI Adaptor 또는 RESTful 방식을 적용 활용해 야 함 – 공통컴포넌트 적용을 검토한 후, 필요기능과의 차이를 분석하고 해당 업무에 최적화하여 활용