上课地点

时间:2019-04-05 10:13:15

标签: java spring java-ee three-tier

早上好,在我的项目中,我使用的是三层体系结构,我有一个用于控制器的软件包,一个用于服务的软件包,另一个用于数据模型和存储库的软件包(我正在使用spring数据)。

所以我需要在controllers包中为Web服务创建一些类。

我的问题是,最佳实践是在controllers程序包或model程序包中创建这些类,或者在model程序包中可以保留类型?

谢谢。

1 个答案:

答案 0 :(得分:0)

在使用多层体系结构多年之后,最佳实践是以对您和您的开发人员有意义的方式对类进行分组。请参见以下示例:

├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── bytesw
│   │   │           └── agreement
│   │   │               └── admin
│   │   │                   ├── Application.java
│   │   │                   ├── data
│   │   │                   │   ├── bo
│   │   │                   │   │   ├── Account.java
│   │   │                   │   │   ├── Customer.java
│   │   │                   │   │   ├── User.java
│   │   │                   │   └── repository
│   │   │                   │       ├── AccountRepository.java
│   │   │                   │       ├── CustomerRepository.java
│   │   │                   │       └── UserRepository.java
│   │   │                   ├── exception
│   │   │                   │   ├── DuplicatedRecordException.java
│   │   │                   │   ├── NoResultException.java
│   │   │                   │   └── UnknownErrorException.java
│   │   │                   ├── web
│   │   │                   │   └── controller
│   │   │                   │       ├── AccountController.java
│   │   │                   │       ├── CustomerController.java
│   │   │                   │       └── UserController.java
│   │   │                   └── service
│   │   │                       ├── AccountService.java
│   │   │                       ├── CustomerService.java
│   │   │                       └── UserService.java
│   │   └── resources
│   │       ├── application.yml
│   │       ├── bootstrap.yml
│   │       ├── logback-spring.xml
│   │       └── messages
│   │           ├── message_es.properties
│   │           └── message.properties

以前的示例将软件包中的类分组为:

BO(业务对象) 表示数据的实体

例外 您的自定义异常类

Web控制器。如果要构建其余部分,则所有控制器都应在此处。

服务 您的服务类别(如果需要)。

资源 您所有的应用程序资源