본문 바로가기
자바과정/스프링

스프링 (게시판)디렉터리 구조와 핵심요약

by Parkej 2021. 4. 13.

출처: https://min-it.tistory.com/6

시작 전 설정 구조 
- DBMS : 오라클 11g 
- JDK : 15
- SpringFramework : 3.1.1 RELEASE
- 개발환경 : Eclips
- OS : Window 10 (64)
- WAS : ApacheTomcat 9.0

- 프로젝트 생성은 Spring Legacy Project로 생성
- 게시판 & 회원가입 & 로그인을 구현해보기 위한 준비단계 요약

 

Java Resources[java, resources] 디렉터리 구조
- 패키지명은 상관없다는 전제하에 작성 (***.***.***)
- 기본 패키지명에서 (ex: com.sl.***) 앞의 두 부분만 같게 하고 나머지는 구분되게 하는것이 좋을듯 합니다.

- com.sl.controller : 컨트롤러 : @Controller (프레젠테이션 레이어, 웹 요청과 응답을 처리함)
- com.sl.dao : 로직 처리 : @Service (서비스 레이어, 내부에서 자바 로직을 처리함)
- com.sl.service : 외부I/O 처리 : @Repository (퍼시스턴스 레이어, DB나 파일같은 외부 I/O 작업을 처리함)
- com.sl.vo : 데이터 클래스 (자바 빈이라고도 함)
- mapper : SQL문을 담을 XML 폴더
- mybatis-config.xml (mybatis 설정 파일)

 

Mybatis...?
더보기
- Mybatis는 스프링에서 SQL 처리 생산성을 높이기 위해 사용되는 녀석이다. 자체적으로 spring-JDBC를 사용해 DB와 연동이 가능하지만 좀 더 효율적인 개발을 위해 사용된다고 보면 된다.

장점:
1.간결한 코드처리가 가능하다.
(JDBC는 try-catch-finally처럼 데이터를 처리하기까지 많은 코드를 직접작성해야한다.
하지만 mybatis는 이러한 코드를 상당히 줄일 수 있어 개발속도가 향상됩니다.
Spring과 mybatis를 같이 사용하면 코드 제작 없이 JDBC의 처리가 가능합니다.)

2.SQL문을 따로쓴다.(어떻게보면 코드를 재사용한다고 생각할 수도 있다.)
 (JDBC는 SQL문을 처리하기 위해 별도의 파일을 작성하는등 번거로운 작업이많다.
Mybatis는 XML이나 애노테이션방식으로 SQL문을 별도로 처리가능하다.
==>별도로 처리도 가능하고 / JDBC처럼 사용해도 되고
따라서 많은 양의 SQL에 대해서는 별도의 XML파일에서 작업하여 간결함을 유지)

3.Mybatis-Srping이 있어 코드의 양이 줄여진다.
(스프링 프레임워크에서 mybatis-Spring라이브러리를 이용하면
SQL 문의 호출없이도 데이터를 얻을 수 있다.
따라서 스프링에서는 mybatis와 스프링을 연계하면 코드의 양을 줄일 수 있다)

- Mybatis를 이용한 스프링 
MyBatis는 스프링에서 어떻게 사용될까??
스프링에서는 크게
1.UI를 담당하는 부분(view)
2.사용자의 요구사항을 처리하는 부분(service)
3.데이터를 처리하는 부분(DAO) : DAO(Data Access Object)는 Mybatis를 호출하여 사용하는 구조입니다.

 

view와 매핑 구조
- servlet-context.xml : servlet-context.xml은 웹과 관련된 설정을 하는 곳입니다
- root-context.xml : root-context.xml은 스프링과 관련된 설정을 하는 곳으로 웹과 관련되지 않은 모든 자원을 설정하는 곳입니다.
- views/board/*.jsp : 사용자에게 보여지는 view 부분
- web.xml : 디스패처 서블릿으로 해당 컨트롤러로 연결시켜주는 웹매핑 부분

 

porm.xml
- 라이브러리를 다운받는 xml

- 디렉터리 뷰에선 최하위에 위치함(맨 아래)


반응형

댓글