복붙노트

[SPRING] J2EE 웹 애플리케이션의 표준 프로젝트 / 패키지 구조

SPRING

J2EE 웹 애플리케이션의 표준 프로젝트 / 패키지 구조

Spring, Spring MVC 및 Hibernate를 사용하여 새로운 Java EE 웹 애플리케이션을 시작합니다. 우리는 아마도 maven을 사용하고있을 것입니다.

시작하기 전에 웹 애플리케이션의 프로젝트 / 패키지 구조를 찾아야합니다.

Java EE 웹 응용 프로그램의 표준 프로젝트 / 패키지 구조 란 무엇입니까?

또한 프로젝트 구조 또는 모든 구성 파일을 변경하지 않고 모든 응용 프로그램 서버에서 실행해야합니다.

Spring 소스 IDE 버전 2.6.0 (최신 버전)을 사용하게 될 것입니다.

어떤 아이디어?

해결법

  1. ==============================

    1.만약 당신이 maven을 사용한다면, 표준 maven 프로젝트 레이아웃을 따르는 것이 가장 좋습니다. 당신은 maven에게 당신을 위해이 구조체를 생성하도록 할 수 있습니다.

    만약 당신이 maven을 사용한다면, 표준 maven 프로젝트 레이아웃을 따르는 것이 가장 좋습니다. 당신은 maven에게 당신을 위해이 구조체를 생성하도록 할 수 있습니다.

    mvn archetype:generate 
    

    선택 목록에서 spring-mvc-jpa-archetype을 선택하십시오.

    이렇게하면 다음과 같은 패키지 구조가 제공됩니다.

      ├── pom.xml
      └── src
          ├── main
          │   ├── java
          │   │   └── mygroup
          │   │       ├── controller
          │   │       │   ├── HomeController.java
          │   │       │   └── PersonController.java
          │   │       ├── dao
          │   │       │   └── PersonDao.java
          │   │       └── model
          │   │           └── Person.java
          │   ├── resources
          │   │   ├── db.properties
          │   │   ├── log4j.xml
          │   │   └── META-INF
          │   │       └── persistence.xml
          │   └── webapp
          │       ├── index.html
          │       ├── META-INF
          │       │   ├── context.xml
          │       │   └── MANIFEST.MF
          │       ├── resources
          │       │   └── css
          │       │       └── screen.css
          │       └── WEB-INF
          │           ├── spring
          │           │   ├── app
          │           │   │   ├── controllers.xml
          │           │   │   └── servlet-context.xml
          │           │   ├── db.xml
          │           │   └── root-context.xml
          │           ├── views
          │           │   ├── edit.jsp
          │           │   ├── home.jsp
          │           │   └── list.jsp
          │           └── web.xml
          └── test
              ├── java
              │   └── mygroup
              │       ├── controller
              │       │   ├── DataInitializer.java
              │       │   ├── HomeControllerTest.java
              │       │   └── PersonControllerTest.java
              │       └── dao
              │           └── PersonDaoTest.java
              └── resources
                  ├── db.properties
                  ├── log4j.xml
                  ├── test-context.xml
                  └── test-db.xml
    
  2. ==============================

    2.MVCSR (Model, View, Controller, Service, Repository) 웹 애플리케이션을위한보다 일반적인 Java 패키지 구조는 다음과 같습니다.

    MVCSR (Model, View, Controller, Service, Repository) 웹 애플리케이션을위한보다 일반적인 Java 패키지 구조는 다음과 같습니다.

    java
    └── com
        └── youdomain
            |
            ├── base   // broadly used app-wide base and abstract classes)
            |
            ├── core   // broadly, scattered use helpers, utilities, app health/stats
            |          // tracking, logging, etc
            |
            ├── controller // Fields Http/CGI requests and drives/initiates request 
            |          // comprehension, validation, security checks, requesting 
            |          // operations by the Service module and invoking the View to 
            |          // generate a response.
            |
            ├── data   // This is the lower level data infrastructure, with several
            |          //packages under it for mappers, schema tables/enums, helpers,
            |          // record location, id management, etc
            |
            ├── domain // app-wide exposed classes, managers, and interfaces to
            |          // each persisted (usually DB) domain 'object'. Each
            |          // object often correlates to one table row in you DB.
            |          // Domain objects are mostly considered data, but have some fundamental
            |          // record construction, validation, elaboration, and ancillary information
            |          // functionality which is opaque to the rest of the application. 
            |          // For example: Customer, Account, Purchase, Inventory, 
            |          // Product, Sale, Return, SpecialOffer, FeedbackComment...
            |
            ├── repository // more complicated persisted objects, often structured
            |       // to address certain efficiency or traversal needs, often each
            |       // repository is underpinned by several records, tables, 
            |       // and even cross-DB structures. Example: 
            |       //  -- OrderHistory, 
            |       //  -- ProductsGlobalSearchIndex, 
            |       //  -- CustomerSpecificProductMarketingSuggestionCorrelates
            |
            ├── service // The smarts of the whole application, performs macro, holoistic 
            |       //  operations involving multiple DB tables and operations. Such as:
            |       //  -- account.UserAccountLifecycle, 
            |       //  -- order.CustomerOrder, 
            |       //  -- order.CustomerOrderShipment
            |
            └── view // Intefaces with your jsp, freemarker, tapestry etc.
    
  3. from https://stackoverflow.com/questions/5878774/standard-project-package-structure-of-a-j2ee-web-application by cc-by-sa and MIT license