ERP-node/.cursor/rules/architecture-guide.mdc

70 lines
1.9 KiB
Plaintext
Raw Permalink Normal View History

2025-08-21 09:41:46 +09:00
---
description:
globs:
alwaysApply: true
---
# 아키텍처 가이드
## 전체 아키텍처
이 애플리케이션은 전형적인 Spring MVC 3-tier 아키텍처를 따릅니다:
- **Presentation Layer**: JSP + jQuery (Frontend)
- **Business Layer**: Spring Controllers + Services (Backend Logic)
- **Data Access Layer**: MyBatis + PostgreSQL (Database)
## 패키지 구조
```
src/com/pms/
├── controller/ # Spring MVC Controllers (@Controller)
├── service/ # Business Logic (@Service)
├── mapper/ # MyBatis XML Mappers
├── common/ # 공통 유틸리티 및 설정
├── salesmgmt/ # 영업관리 모듈
└── ions/ # 특수 모듈
```
## 주요 컴포넌트
### Controllers
모든 컨트롤러는 [BaseService](mdc:src/com/pms/common/service/BaseService.java)를 상속받습니다.
- URL 패턴: `*.do` (예: `/admin/menuMngList.do`)
- 주요 컨트롤러: [AdminController](mdc:src/com/pms/controller/AdminController.java)
### Services
비즈니스 로직을 처리하는 서비스 계층입니다.
- 예시: [AdminService](mdc:src/com/pms/service/AdminService.java)
- MyBatis SqlSession을 직접 사용하여 데이터베이스 접근
### MyBatis Mappers
SQL 쿼리를 XML로 정의합니다.
- 위치: `src/com/pms/mapper/`
- 예시: [admin.xml](mdc:src/com/pms/mapper/admin.xml)
### JSP Views
JSP 뷰 파일들은 `WebContent/WEB-INF/view/` 디렉토리에 위치합니다.
- InternalResourceViewResolver 사용
- prefix: `/WEB-INF/view`, suffix: `.jsp`
## 데이터베이스 설정
- JNDI DataSource 사용: `plm`
- PostgreSQL 연결
- 초기 데이터: [ilshin.pgsql](mdc:db/ilshin.pgsql)
## 설정 파일 위치
- Spring 설정: [dispatcher-servlet.xml](mdc:WebContent/WEB-INF/dispatcher-servlet.xml)
- 로깅 설정: [log4j.xml](mdc:WebContent/WEB-INF/log4j.xml)
- 웹 설정: [web.xml](mdc:WebContent/WEB-INF/web.xml)