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를 통해 더 자세한 정보를 얻을 수 있다.
egovframework:실행환경가이드 [eGovFrame]
www.egovframe.go.kr
'Programming > JAVA' 카테고리의 다른 글
[전자정부표준프레임워크] 5. 실행환경 데이터처리 (0) | 2022.10.12 |
---|---|
junit initializationError 해결 (0) | 2022.10.12 |
[전자정부표준프레임워크] 3. 개발환경 실습(3) (0) | 2022.10.11 |
[전자정부표준프레임워크] 3. 개발환경 실습(2) (0) | 2022.10.11 |
[전자정부프레임워크] 3. 개발환경 실습(1) (0) | 2022.10.11 |
댓글