본문 바로가기
Programming/JAVA

[전자정부표준프레임워크] 4. 실행환경 공통기반

by Berasix 2022. 10. 11.
반응형

1. 실행환경

표준프레임워크 적용을 위해 상속받아야 하는 부분

ServiceImpl -> EgovAbstractServiceImpl

DAO -> EgovAbstract

MApper -> EgovAbstractMapper

 

39개 서비스로 구성되어있으며, 특히 MVC, IoC컨테이너, AOP, Data Access 제공

 

2. Spring 프레임워크

가장 핵심 기술 

IoC 컨테이너 

- 의존성을 파악한 후 묶어주는 기능

- Spring은 IoC 컨테이너가 객체의 생명주기를 관리한다.

- 어떤 모듈이 사용할 모듈을 스스로 결정하는 것이 아니라 다른 모듈에게 선택권을 넘겨준다는 것을 의미한다.

- 설정 정보는 xml 혹은 Annotation을 이용한다.

 

DI(Dependency Injection)

- 모듈 간의 의존성을 컨테이너에 주입시켜주는 기능으로 IoC의 한 종류이다.

- IoC = DI라고 생각해도 된다.

- IoC는 개념, DI는 IoC 적용을 위한 기술

 

Bean

IoC가 관리하는 자바 객체

예전에는 XML을 사용해 관리했으나 자바 5 이상부터는 Annotation으로 관리한다.

 

Annotation

@Autowired : 자동으로 엮을 property를 지정하기 위해 사용

@Resource : Autowired와 유사함

@Repository : 데이터 관련, 영속성, DAO에서 사용

@Service : 업무 로직 서비스 관련 레이어

@Controller : 화면처리 관련 레이어

 

3. AOP, ID Generation, Logging

AOP(관점 지향 프로그래밍)

객체 지향 프로그래밍을 보완하기 위해 나온 개념, 

장점 : 중복 코드의 제거, 비즈니스 로직의 가독성 향상, 생산성 향상, 재사용성 향상 변경 용이성 증대

@Transactional는 AOP가 적용된 대표 사례이다.

 

관점 정의 : resources/egovframework.spring/context-aspect.xml

 

ID Generation

표준 프로그램에서 제공하는 서비스

ID 생성 알고리즘으로 시스템에서 사용하는 ID를 생성하는 서비스

 

Logging

표준프레임워크 3.0부터 SLF4J가 적용되어있고 Log4j를 함께 사용

 

4. Security 간소화

src/main/resources/egovframework/spring/com/context-security.xml 참조

5. Session 방식 접근제어

pom.xml 에 아래의 코드가 명시되어있어야 한다.

<dependency>
    <groupId>org.egovframe.rte</groupId>
    <artifactId>org.egovframe.rte.fdl.access</artifactId>
    <version>${org.egovframe.rte.version}</version>
</dependency>

src/main/webapp/WEB-INF/config/egovframework/springmvc/egov-com-access.xml 참조

파일 내용중 excludeList : 접근권한 체크 skip

5. Crypto(암호화) 간소화 서비스

pom.xml 에 아래처럼 dependency 추가

<dependency>
    <groupId>org.egovframe.rte</groupId>
    <artifactId>org.egovframe.rte.fdl.crypto</artifactId>
    <version>${org.egovframe.rte.version}</version>
</dependency>

src/main/resources/egovframework/spring/com/context-crypto.xml 참조

 

6. 참고사항

아래 wiki를 통해 더 자세한 정보를 얻을 수 있다.

https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:%EC%8B%A4%ED%96%89%ED%99%98%EA%B2%BD%EA%B0%80%EC%9D%B4%EB%93%9C 

 

egovframework:실행환경가이드 [eGovFrame]

 

www.egovframe.go.kr

 

728x90

댓글