ݺߣ

ݺߣShare a Scribd company logo
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 (20)

03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)
Hankyo
01.Ӥ레ѫ크개요
01.Ӥ레ѫ크개요01.Ӥ레ѫ크개요
01.Ӥ레ѫ크개요
Hankyo
[오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC [오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC
Ji-Woong Choi
03.[참고]개발환경 교육교재
03.[참고]개발환경 교육교재03.[참고]개발환경 교육교재
03.[참고]개발환경 교육교재
Hankyo
세미나 Spring mybatis
세미나 Spring mybatis세미나 Spring mybatis
세미나 Spring mybatis
Somang Jeong
03.모바일 실습교재(모바일 공통컴포넌트 실습)
03.모바일 실습교재(모바일 공통컴포넌트 실습)03.모바일 실습교재(모바일 공통컴포넌트 실습)
03.모바일 실습교재(모바일 공통컴포넌트 실습)
Hankyo
Spring mvc
Spring mvcSpring mvc
Spring mvc
ksain
04.모바일 device api_실습교재
04.모바일 device api_실습교재04.모바일 device api_실습교재
04.모바일 device api_실습교재
Hankyo
[오픈소스컨설팅]MyBatis Basic
[오픈소스컨설팅]MyBatis Basic[오픈소스컨설팅]MyBatis Basic
[오픈소스컨설팅]MyBatis Basic
Ji-Woong Choi
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
Hankyo
Spring MVC
Spring MVCSpring MVC
Spring MVC
ymtech
Servlet3
Servlet3Servlet3
Servlet3
Sukjin Yun
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)
Hankyo
#32.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#32.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#32.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#32.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
자바 서블릿과 세션 (Java Servlet, Session)
자바 서블릿과 세션 (Java Servlet, Session)자바 서블릿과 세션 (Java Servlet, Session)
자바 서블릿과 세션 (Java Servlet, Session)
Yu Yongwoo
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
탑크리에듀(구로디지털단지역3번출구 2분거리)
(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기
(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기
(Spring Data JPA)게시판 리스트보기_오라클, 스프링부트,페이지나누기
탑크리에듀(구로디지털단지역3번출구 2분거리)
#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학원추천
탑크리에듀(구로디지털단지역3번출구 2분거리)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
탑크리에듀(구로디지털단지역3번출구 2분거리)
03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)03.실행환경 교육교재(배치처리)
03.실행환경 교육교재(배치처리)
Hankyo
01.Ӥ레ѫ크개요
01.Ӥ레ѫ크개요01.Ӥ레ѫ크개요
01.Ӥ레ѫ크개요
Hankyo
[오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC [오픈소스컨설팅]Spring MVC
[오픈소스컨설팅]Spring MVC
Ji-Woong Choi
03.[참고]개발환경 교육교재
03.[참고]개발환경 교육교재03.[참고]개발환경 교육교재
03.[참고]개발환경 교육교재
Hankyo
세미나 Spring mybatis
세미나 Spring mybatis세미나 Spring mybatis
세미나 Spring mybatis
Somang Jeong
03.모바일 실습교재(모바일 공통컴포넌트 실습)
03.모바일 실습교재(모바일 공통컴포넌트 실습)03.모바일 실습교재(모바일 공통컴포넌트 실습)
03.모바일 실습교재(모바일 공통컴포넌트 실습)
Hankyo
Spring mvc
Spring mvcSpring mvc
Spring mvc
ksain
04.모바일 device api_실습교재
04.모바일 device api_실습교재04.모바일 device api_실습교재
04.모바일 device api_실습교재
Hankyo
[오픈소스컨설팅]MyBatis Basic
[오픈소스컨설팅]MyBatis Basic[오픈소스컨설팅]MyBatis Basic
[오픈소스컨설팅]MyBatis Basic
Ji-Woong Choi
01.모바일 프레임워크 이론
01.모바일 프레임워크 이론01.모바일 프레임워크 이론
01.모바일 프레임워크 이론
Hankyo
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#33.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)02.실행환경 실습교재(데이터처리)
02.실행환경 실습교재(데이터처리)
Hankyo
#32.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#32.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#32.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#32.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
자바 서블릿과 세션 (Java Servlet, Session)
자바 서블릿과 세션 (Java Servlet, Session)자바 서블릿과 세션 (Java Servlet, Session)
자바 서블릿과 세션 (Java Servlet, Session)
Yu Yongwoo
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
(스프링 초보자를 위한)스프링 DI관련 어노테이션,자동스캐닝 컴포넌트(Spring Framework Auto-Scanning Component)
탑크리에듀(구로디지털단지역3번출구 2분거리)
#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학원추천
탑크리에듀(구로디지털단지역3번출구 2분거리)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
(자바교육/스프링교육/스프링프레임워크교육/마이바티스교육추천)#2.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)
탑크리에듀(구로디지털단지역3번출구 2분거리)

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

실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
Amazon Web Services Korea
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
NeoClova
Introduction to Apache Tajo
Introduction to Apache TajoIntroduction to Apache Tajo
Introduction to Apache Tajo
Gruter
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Kyuhyun Byun
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
NeoClova
Spark sql
Spark sqlSpark sql
Spark sql
동현 강
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개
NeoClova
From MSSQL to MariaDB
From MSSQL to MariaDBFrom MSSQL to MariaDB
From MSSQL to MariaDB
I Goo Lee
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육
Sangmo Kim
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
Amazon Web Services Korea
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
rockplace
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
NeoClova
Ѳ⳧ϳѲٵ-성능갵ӄ-202201.ٳ
Ѳ⳧ϳѲٵ-성능갵ӄ-202201.ٳѲ⳧ϳѲٵ-성능갵ӄ-202201.ٳ
Ѳ⳧ϳѲٵ-성능갵ӄ-202201.ٳ
NeoClova
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
Amazon Web Services Korea
Rails style-guide-2
Rails style-guide-2Rails style-guide-2
Rails style-guide-2
Yunho Jo
함수형사고 실용적사고
함수형사고 실용적사고함수형사고 실용적사고
함수형사고 실용적사고
Sunggon Song
[스프링 스터디 3일차] @MVC
[스프링 스터디 3일차] @MVC[스프링 스터디 3일차] @MVC
[스프링 스터디 3일차] @MVC
AnselmKim
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
실전! AWS 기반 데이터베이스 마이그레이션::최홍식::AWS Summit Seoul 2018
Amazon Web Services Korea
MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바MariaDB 마이그레이션 - 네오클로바
MariaDB 마이그레이션 - 네오클로바
NeoClova
Introduction to Apache Tajo
Introduction to Apache TajoIntroduction to Apache Tajo
Introduction to Apache Tajo
Gruter
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Golang Project Guide from A to Z: From Feature Development to Enterprise Appl...
Kyuhyun Byun
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
NeoClova
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
#22.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_스프링프레임워크 강좌, 재직자환급교육,실업자국비지원...
탑크리에듀(구로디지털단지역3번출구 2분거리)
MariaDB 제품 소개
MariaDB 제품 소개MariaDB 제품 소개
MariaDB 제품 소개
NeoClova
From MSSQL to MariaDB
From MSSQL to MariaDBFrom MSSQL to MariaDB
From MSSQL to MariaDB
I Goo Lee
MariaDB Administrator 교육
MariaDB Administrator 교육 MariaDB Administrator 교육
MariaDB Administrator 교육
Sangmo Kim
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
SK Telecom - 망관리 프로젝트 TANGO의 오픈소스 데이터베이스 전환 여정 - 발표자 : 박승전, Project Manager, ...
Amazon Web Services Korea
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
rockplace
Maxscale 소개 1.1.1
Maxscale 소개 1.1.1Maxscale 소개 1.1.1
Maxscale 소개 1.1.1
NeoClova
Ѳ⳧ϳѲٵ-성능갵ӄ-202201.ٳ
Ѳ⳧ϳѲٵ-성능갵ӄ-202201.ٳѲ⳧ϳѲٵ-성능갵ӄ-202201.ٳ
Ѳ⳧ϳѲٵ-성능갵ӄ-202201.ٳ
NeoClova
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
사례로 알아보는 Database Migration Service : 데이터베이스 및 데이터 이관, 통합, 분리, 분석의 도구 - 발표자: ...
Amazon Web Services Korea
Rails style-guide-2
Rails style-guide-2Rails style-guide-2
Rails style-guide-2
Yunho Jo
함수형사고 실용적사고
함수형사고 실용적사고함수형사고 실용적사고
함수형사고 실용적사고
Sunggon Song
[스프링 스터디 3일차] @MVC
[스프링 스터디 3일차] @MVC[스프링 스터디 3일차] @MVC
[스프링 스터디 3일차] @MVC
AnselmKim

More from Hankyo (15)

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

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 방식을 적용 활용해 야 함 – 공통컴포넌트 적용을 검토한 후, 필요기능과의 차이를 분석하고 해당 업무에 최적화하여 활용