티스토리 뷰

※개발자마다 설정은 달라질 수 있기 때문에 모든 프로젝트가 아래의 디렉토리 구조를 따르는 것은 아니다. 

 

Spring MVC 

=>spring mvc, gradle, mybatis, jsp를 사용

 

> src/main/java 

(자바 파일을 담고 있다.)

  • dao : 단일 데이터 처리

  • service : 여러 dao를 호출하여 여러번의 데이터 처리를 하며 그렇게 읽은 데이터에 대한 비즈니스 로직을 수행하고 하나 혹은 여러개의 트랜잭션으로 묶음

  • domain(=vo,dto) : 필드와 getter,setter

  • web(=controller) : requestmapping을 하고 service.{함수}식으로 호출

  • AppConfig.java(=applicationContext.xml) : 설정정보를 담고있는 클래스. datasource객체생성하고 DB커넥션풀을 관리해주는 객체를 만들고, mybatis가 해당 패키지의 모든 클래스에대해 별명자동생성을위해 패키지지정을해주고 sql매퍼 파일경로를 등록. 트랜잭션관리자만듬 (-> db커넥션의 커밋과 롤백을 다룸)

 

> src/main/resources

(자바 파일에서 사용하는 리소스 파일을 담고 있다.)

  • conf : jdbc.properties,sec.properties,api.properties

  • mapper : sql문을 작성한 xml파일들이있음

 

> src/main/webapp

(웹에서 사용하는 리소스 파일을 담고 있다. )

  • WEB-INF : web-inf디렉토리 이하는 보안상의 문제로 웹을 통한 직접적인 접근이 불가능

    • jsp : .jsp파일들을 넣기

    • app-servlet.xml : xml 설정파일에서는 페이지 컨트롤러 객체만 생성되도록 하기. ViewResolver 설정해서 request handler가 리턴한 경로의 앞,뒤에 공통경로를 추가하여 jsp파일찾아 실행

    • web.xml : 프론트 컨트롤러 서블릿 배치

  • css : css파일 넣기

  • img : img 넣기

  • js : js파일 넣기

 

> build.gradle

(gradle 설정파일)

 

#참고

https://gaebal-goebal.tistory.com/27?category=789654

 

스프링 동작방식

톰캣 실행( server start 눌렀을 때) 1. web.xml이 로딩된다. 2. web.xml에 등록된 ContextLoaderListener가 생성된다. ContextLoaderListener는 java class로 ServletContextListener 인터페이스를 구현하고 있으..

gaebal-goebal.tistory.com

 


Spring boot

=> spring boot, gradle, jpa를 사용

 

>src/main/java

(자바 파일을 담고있다.)

  • web(controller)

  • service

  • repository(dao)

  • model(dto)

  • config : JpaConfig.java

 

>src/main/resources

(리소스 파일을 담고 있다.)

  • Static

    • JS

  • Templates

    • Thymeleaf 파일

  • application.yml(=application.properties)

 

>src/test/java

(테스트에 필요한 Junit 테스트 케이스)

 

>src/test/resources

(테스트에 필요한 설정파일)

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
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
글 보관함