반응형
전자정부프레임워크 프로젝트 디렉토리 구조 이해
오늘은 전자정부프레임워크의 프로젝트 디렉토리 구조를 살펴보겠습니다. 이 구조는 프로젝트의 효율적인 개발과 관리에 필수적입니다. 디렉토리별 역할과 주요 파일들을 이해하면 개발과 협업이 훨씬 쉬워질 것입니다.
1. 프로젝트 디렉토리 구조 개요
전자정부프레임워크의 기본 디렉토리 구조는 아래와 같습니다.
eGovFrameProject/
├── src/
│ ├── main/
│ │ ├── java/ # 자바 소스 코드
│ │ ├── resources/ # 설정 파일 및 공통 리소스
│ │ ├── webapp/ # 웹 리소스 (JSP, CSS, JS 등)
│ │ ├── WEB-INF/ # 웹 설정 파일
│ │ ├── views/ # JSP 파일
│ └── test/ # 테스트 코드
├── target/ # 빌드된 파일 (WAR 등)
├── pom.xml # Maven 설정 파일
└── README.md # 프로젝트 설명 파일
2. 주요 디렉토리 및 파일 설명
2-1. src/main/java
자바 소스 코드가 저장되는 디렉토리입니다. 주요 구성 요소는 아래와 같습니다.
- Controller
- 사용자 요청을 처리하며, Service 계층과 통신합니다.
- 예: egovframework.example.sample.web.SampleController
- Service
- 비즈니스 로직을 처리합니다.
- 예: egovframework.example.sample.service.SampleService
- DAO (Data Access Object)
- 데이터베이스와의 통신을 담당합니다.
- 예: egovframework.example.sample.service.impl.SampleDAO
2-2. src/main/resources
설정 파일과 공통 리소스가 저장되는 디렉토리입니다.
- Spring 설정 파일
- egovframework/spring/context-*.xml
- 데이터베이스, 트랜잭션, MyBatis 설정 등이 포함됩니다.
- 로그 설정 파일
- log4j.xml: 로그 레벨 및 출력 설정.
- 메시지 파일
- 다국어 지원을 위한 프로퍼티 파일(messages.properties).
2-3. src/main/webapp
웹 애플리케이션의 정적 및 동적 리소스가 포함됩니다.
- WEB-INF/
- web.xml: 서블릿과 필터 설정이 포함된 파일.
- dispatcher-servlet.xml: Spring MVC Dispatcher 설정 파일.
- views/
- JSP 파일이 저장되며, 사용자에게 데이터를 표시하는 역할을 합니다.
- 예: views/sample/sampleList.jsp
2-4. pom.xml
Maven 빌드 도구의 설정 파일입니다. 프로젝트에서 사용하는 라이브러리와 플러그인을 정의합니다.
pom.xml 주요 구성 예제
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.10</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.7</version>
</dependency>
</dependencies>
3. 전자정부프레임워크의 계층 구조
전자정부프레임워크는 MVC(Model-View-Controller) 패턴을 기반으로 설계되었습니다.
계층 구조의 구성
- UI Layer (View)
- 사용자와 직접 상호작용.
- JSP, HTML, JavaScript 등을 사용합니다.
- Business Logic Layer (Controller, Service)
- 사용자 요청을 처리하고 필요한 로직을 수행합니다.
- Data Access Layer (DAO)
- 데이터베이스와 통신하여 데이터를 읽고 쓰는 역할을 합니다.
4. 샘플 코드로 살펴보기
Controller 예제: SampleController.java
@Controller
public class SampleController {
@Resource(name = "sampleService")
private SampleService sampleService;
@RequestMapping("/sample/list.do")
public String selectSampleList(Model model) throws Exception {
List<SampleVO> sampleList = sampleService.selectSampleList();
model.addAttribute("sampleList", sampleList);
return "sample/sampleList";
}
}
View 예제: sampleList.jsp
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<c:forEach var="sample" items="${sampleList}">
<tr>
<td>${sample.id}</td>
<td>${sample.name}</td>
</tr>
</c:forEach>
</tbody>
</table>
5. 마무리
전자정부프레임워크 프로젝트의 디렉토리 구조와 구성 요소를 자세히 살펴보았습니다. 이 구조를 이해하면 프로젝트를 보다 효과적으로 관리하고 협업 시 생산성을 높일 수 있습니다.
다음 글에서는 데이터베이스 연결 설정 및 연동 방법을 다룹니다.
반응형
'개발 > 전자정부프레임워크' 카테고리의 다른 글
전자정부프레임워크의 MyBatis 활용 기본 (0) | 2024.12.23 |
---|---|
전자정부프레임워크의 공통 컴포넌트 활용 (0) | 2024.12.23 |
전자정부프레임워크 데이터베이스 연동 설정 (1) | 2024.12.23 |
전자정부프레임워크 개발 환경 구축 (0) | 2024.12.23 |
전자정부프레임워크 소개 및 필요성 (0) | 2024.12.23 |