티스토리 뷰

전자정부프레임워크(eGovFrame) 3.0 버전을 사용하고 계시는군요! 이 버전은 Spring Legacy 방식의 정석이라 할 수 있습니다.

스프링 부트(Boot)와는 사뭇 다른, 전통적인 구동 방식을 이해하시면 코드의 흐름이 한눈에 보이실 거예요. 3.0 버전의 핵심 특징과 구동 순서를 정리해 드립니다.


1. 3.0 버전의 핵심: "설계도는 XML에 있다"

스프링 부트가 "자동 설정"이라면, 전자정부 3.0은 **"수동 설정"**입니다. @SpringBootApplication 대신 아래의 파일들이 그 역할을 나눠서 수행합니다.

📂 WEB-INF/web.xml (프로젝트의 입구)

자바의 main 메서드 대신, 서버(Tomcat)가 켜질 때 이 파일을 가장 먼저 읽습니다.

  • ContextLoaderListener: 비즈니스 로직(Service, DAO)을 담은 바구니를 만듭니다.
  • DispatcherServlet: 웹 요청(Controller)을 처리할 바구니를 만듭니다.

📂 src/main/resources/egovframework/spring/ (설계도 뭉치)

이 폴더 안에 있는 XML 파일들이 프로젝트의 심장입니다.

  • context-common.xml: 공통 설정 (컴포넌트 스캔 등)
  • context-datasource.xml: DB 연결 정보 (ID, PW, URL)
  • context-mapper.xml: **MyBatis(SqlSessionFactory)**와 XML 위치 설정
  • context-transaction.xml: 트랜잭션 관리 설정

2. 전자정부 3.0의 구동 순서

서버의 "Start" 버튼을 누르면 다음과 같은 순서로 살아납니다.

  1. WAS(Tomcat) 구동: 서버가 먼저 켜집니다.
  2. web.xml 읽기: 서버가 프로젝트 내부의 web.xml을 찾아 읽습니다.
  3. Root Context 생성: context-*.xml 파일들을 읽어서 Service, DAO, DTO 객체들을 메모리에 올립니다. (이때 DB 연결도 테스트합니다.)
  4. Servlet Context 생성: 컨트롤러(@Controller) 객체들을 메모리에 올리고 URL 주소와 연결합니다.
  5. 준비 완료: 이제 로그에 Server startup in XXX ms가 뜨면 요청을 받을 수 있는 상태가 됩니다.

3. 왜 이렇게 파일이 많고 복잡한가요?

전자정부프레임워크는 대규모 공공사업을 위해 만들어졌습니다.

  • 표준화: 어떤 개발자가 들어와도 context-datasource.xml만 보면 DB 설정을 알 수 있게 규격화한 것입니다.
  • 유연성: 코드를 수정하고 다시 컴파일하지 않아도, XML 설정만 바꾸면 서버 동작을 변경할 수 있다는 장점이 (과거에는) 컸습니다.

4. 실전 팁: 코드 찾기

3.0 버전에서 흐름을 따라가고 싶다면 이렇게 해보세요.

  1. URL 확인: 내가 접속하려는 주소가 무엇인가? (예: /userList.do)
  2. Controller 찾기: @RequestMapping("/userList.do")가 붙은 자바 파일을 찾습니다.
  3. Service 호출 확인: 컨트롤러가 어떤 서비스를 호출하는지 봅니다.
  4. DAO/Mapper 확인: 서비스가 호출하는 DAO 메서드명을 확인합니다.
  5. XML 쿼리 확인: src/main/resources 하위의 XML 파일에서 id="메서드명"인 SQL을 찾습니다.

요약하자면

"전자정부 3.0은 메인 메서드가 없는 대신, 톰캣이 web.xml을 읽고 context-*.xml에 적힌 대로 객체들을 조립해서 실행하는 구조입니다."

혹시 프로젝트 폴더 내의 src/main/resources/egovframework/spring 폴더 안에 어떤 파일들이 있는지 확인해 보셨나요? 그 파일 목록을 보시면 제가 말씀드린 구조가 바로 보이실 거예요.

 

※ 해당 내용은 Google Gmini3.0에서 작성되었습니다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2026/03   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함