programing

스프링 부트레스트 프로젝트에서 권장되는 프로젝트 구조는 무엇입니까?

kingscode 2023. 2. 1. 22:02
반응형

스프링 부트레스트 프로젝트에서 권장되는 프로젝트 구조는 무엇입니까?

저는 봄 부츠 초보자입니다.저는 스프링 부츠를 사용하여 휴식 서비스를 구축하는 프로젝트의 시작에 관여하고 있습니다.나머지 서비스만 노출하는 프로젝트를 구축할 때 따라야 할 권장 디렉토리 구조를 알려주실 수 있습니까?

문서: 권장되는 방법은 다음과 같습니다.

다음 목록은 일반적인 레이아웃을 보여줍니다.

com 
    +- example 
        +- myapplication 
            +- Application.java 
            +- customer 
                +- Customer.java 
                +- CustomerController.java 
                +- CustomerService.java 
                +- CustomerRepository.java 
            +- order 
                +- order.java 
                +- OrderController.java 
                +- OrderService.java 
                +- OrderRepository. java 
                

Application.java 파일은 다음과 같이 기본 SpringBoot Application과 함께 메인 메서드를 선언합니다.

package com.example.myapplication; 
import org. springframework.boot.springApplication; 
import org.springframework.boot.autoconfigure.SprinpootApplication; 

@SpringRootApplication public class Application { 
    public static void main(string[] args) 
        { 
            springApplication.run(Application. class, args); 
        }
}

config - 속성 파일에서 읽는 클래스

cache - 캐싱 메커니즘 클래스 파일

상수 - 상수 정의 클래스

controller - 컨트롤러 클래스

exception - 예외 클래스

모델 - pojos 클래스가 있습니다.

보안 - 보안 클래스

service - 클래스 포함

util : 유틸리티 클래스

검증 - 검증자 클래스

부트로더 - 메인클래스

시작하기 위해 특별한 작업을 수행할 필요가 없습니다.우선 maven 또는 gradle 또는 starter 종속성이 있는 IDE 프로젝트 레이아웃 중 하나의 일반 Java 프로젝트로 시작합니다.

메인 클래스는 한 개만 있으면 됩니다. 가이드에 따르면...

제약이 있는 패키지 구조는 없습니다.실제 구조는 고객의 요건/whim에 의해 결정되며 디렉토리 구조는 빌드 툴/IDE에 의해 배치됩니다.

Spring MVC 어플리케이션과 같은 구조를 따를 수 있습니다.

어느 쪽이든 따라갈 수 있다

  • 프로젝트는 다음과 같은 레이어로 나뉩니다.

    예: DDD 스타일

    • 서비스 계층: 서비스 패키지에 서비스 클래스가 포함되어 있습니다.
    • DAO/REPO 계층 : dao 클래스를 포함하는 dao 패키지
    • 엔티티 레이어


    ★★★★★★★★★★★★★★★★★」

    쓰기 문제에 적합한 레이어 구조를 지정합니다.

  • 프로젝트는 모듈 또는 기능 또는 기능으로 나누어져 있고, 모듈은 위와 같이 레이어로 나누어져 있습니다.

저는 두 번째를 선호합니다. 왜냐하면 그것은 비즈니스 맥락을 따르기 때문입니다.개념적으로 생각해 보세요.

프로젝트를 어떻게 보느냐에 따라 작업이 달라집니다.코드 구성 스킬입니다.

이 질문의 답변은 받아들여지고 있습니다만, RESTful 서비스의 프로젝트 구조를 공유하고 싶습니다.

src/main/java
    +- com
        +- example
            +- Application.java
            +- ApplicationConstants.java
                +- configuration
                |   +- ApplicationConfiguration.java
                +- controller
                |   +- ApplicationController.java
                +- dao
                |   +- impl
                |   |   +- ApplicationDaoImpl.java
                |   +- ApplicationDao.java
                +- dto
                |   +- ApplicationDto.java
                +- service
                |   +- impl
                |   |   +- ApplicationServiceImpl.java
                |   +- ApplicationService.java
                +- util
                |   +- ApplicationUtils.java
                +- validation
                |   +- impl
                |   |   +- ApplicationValidationImpl.java
                |   +- ApplicationValidation.java

DAO = 데이터 액세스 개체입니다.
DTO = 데이터 전송 개체입니다.

Link-1을 사용하여 프로젝트를 생성합니다.이것은 학습을 위한 기본 프로젝트입니다.폴더 구조를 이해할 수 있습니다.기본적인 스프링 부트프로젝트를 작성하려면 Link-2를 사용합니다.1: http://start.spring.io/ 2: https://projects.spring.io/spring-boot/

그래들/매븐 프로젝트 생성 자동으로 src/main/java 및 src/main/test가 생성됩니다.컨트롤러/서비스/리포지토리 패키지를 만들고 코드 작성을 시작합니다.

- src/main/folder(소스 폴더) ---com.folder.service(패키지) ---ServiceClass(클래스) ---com.package.controller(패키지) ---ControllerClass(클래스)

Spring Tool Suite(Spring 어플리케이션 개발용으로 맞춤화된 Eclipse 기반 개발 환경)를 사용하십시오.
Spring Starter Project를 작성하면 Spring Boot Maven 의존관계가 있는 디렉토리 구조가 작성됩니다.

언급URL : https://stackoverflow.com/questions/40902280/what-is-the-recommended-project-structure-for-spring-boot-rest-projects

반응형