ݺߣ

ݺߣ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)

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

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

PPTX
MyBatis에서 JPA로
Dongmin Shin
PDF
[2018] MyBatis에서 JPA로
NHN FORWARD
PDF
Jpa 쿼리 포함 자료
Hyosang Hong
PDF
Jpa 쿼리 포함 자료
Hyosang Hong
PDF
02.개발환경 실습교재
Hankyo
PPTX
Json view 예제 설명
Hyung Eun Jin
PPTX
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
중선 곽
PDF
Ksug2015 - JPA3, JPA 내부구조
Younghan Kim
PDF
#20.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
탑크리에듀(구로디지털단지역3번출구 2분거리)
PDF
Jpa 잘 (하는 척) 하기
경원 이
PPTX
0222 사내세미나_오정민 스프링인액션
DataUs
PPT
Better Scalable Flexible Soa Platform 0.8.0
Kidong Lee
PDF
01.실행환경 실습교재(공통기반)
Hankyo
PDF
Ksug2015 jpa5 스프링과jpa
Younghan Kim
PDF
Ch7 bpmn
Sanghyeok Park
PPTX
(JPA 엔티티 매니저)JPA 기초강좌, 엔티티 매니저. 엔티티 매니저팩토리
탑크리에듀(구로디지털단지역3번출구 2분거리)
PPTX
Java Annotation과 MyBatis로 나만의 ORM Framework을 만들어보자
Donghyeok Kang
PPT
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
beom kyun choi
PDF
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
탑크리에듀(구로디지털단지역3번출구 2분거리)
PPT
Daejeon IT Developer Conference Hibernate3
plusperson
MyBatis에서 JPA로
Dongmin Shin
[2018] MyBatis에서 JPA로
NHN FORWARD
Jpa 쿼리 포함 자료
Hyosang Hong
Jpa 쿼리 포함 자료
Hyosang Hong
02.개발환경 실습교재
Hankyo
Json view 예제 설명
Hyung Eun Jin
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
중선 곽
Ksug2015 - JPA3, JPA 내부구조
Younghan Kim
#20.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
탑크리에듀(구로디지털단지역3번출구 2분거리)
Jpa 잘 (하는 척) 하기
경원 이
0222 사내세미나_오정민 스프링인액션
DataUs
Better Scalable Flexible Soa Platform 0.8.0
Kidong Lee
01.실행환경 실습교재(공통기반)
Hankyo
Ksug2015 jpa5 스프링과jpa
Younghan Kim
(JPA 엔티티 매니저)JPA 기초강좌, 엔티티 매니저. 엔티티 매니저팩토리
탑크리에듀(구로디지털단지역3번출구 2분거리)
Java Annotation과 MyBatis로 나만의 ORM Framework을 만들어보자
Donghyeok Kang
2007년 제8회 JCO 컨퍼런스 POJO 프로그래밍 발표 자료
beom kyun choi
#16.스프링프레임워크 & 마이바티스 (Spring Framework, MyBatis)_국비지원IT학원/실업자/재직자환급교육/자바/스프링/...
탑크리에듀(구로디지털단지역3번출구 2분거리)
Daejeon IT Developer Conference Hibernate3
plusperson
Ad

More from Hankyo (13)

PDF
01.공통컴포넌트 교육교재
Hankyo
PDF
06.실행환경 실습교재(easy company,해답)
Hankyo
PDF
06.실행환경 실습교재(easy company,문제)
Hankyo
PDF
02.모바일 실습교재(ux component)
Hankyo
PDF
02.참고오소스라이선스갶이드라인
Hankyo
PDF
02.공통컴포넌트 실습교재
Hankyo
PDF
Ch05
Hankyo
PDF
Ch04
Hankyo
PDF
Ch03
Hankyo
PDF
Ch02
Hankyo
PDF
Ch11
Hankyo
PDF
Ch10
Hankyo
PDF
Ch09
Hankyo
01.공통컴포넌트 교육교재
Hankyo
06.실행환경 실습교재(easy company,해답)
Hankyo
06.실행환경 실습교재(easy company,문제)
Hankyo
02.모바일 실습교재(ux component)
Hankyo
02.참고오소스라이선스갶이드라인
Hankyo
02.공통컴포넌트 실습교재
Hankyo
Ch05
Hankyo
Ch04
Hankyo
Ch03
Hankyo
Ch02
Hankyo
Ch11
Hankyo
Ch10
Hankyo
Ch09
Hankyo
Ad

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