w3C*_*lie 4 java spring spring-mvc spring-boot
你如何定义MVC中的模型或实体?
我的大多数Spring代码都有类似他的包结构:http://www.mkyong.com/spring-mvc/spring-mvc-form-handling-example/
我有我的观点,我的控制器,我的dao和dao的"模型"
但我试着学习百里香,发现了这个:https: //github.com/thymeleaf/thymeleafexamples-stsm
没有"模型"包,他称之为实体,它是一个实体但是......
然后我想......哦等一下...... entiy和模特的定义是什么?类似于这个问题: 实体与模型对比视图模型
那么你的包结构是什么,你称之为模型还是实体?你有春季项目的包名/结构的例子吗?
从字面上看,a Model
是代表POJO的类.Entity
- 与DB有关系.
有时它们混合在一起,如:
package net.lelyak.edu.entity;
@Entity
public class User extends BaseEntity {
// fields + get/set
Run Code Online (Sandbox Code Playgroud)
结构取决于您的项目或团队的惯例.
如果是您的个人项目,您可以完全决定要遵循的包结构.
这是我为春训做的一些方法:
但是,出于您自己的目的,您可以完全决定如何管理包,以下也是合法的:
主要思想是没有严格的边界.
对于个人项目,它必须为您提供便利.
当您在同一个项目上与其他人合作时,您必须同意这一点.
我的 Spring 项目大多数都有如下所示的包结构。这个结构是我的dao
, services
, implementations
,view
和的基础结构util
。当然,结构可以改变,这一切都取决于您需要开发什么。
com.companyName.appName.config ->
I use config for my classes which are annotated with @Configuration.
com.companyName.appName.dao.model ->
I use dao.model for all my entities from the DB.
com.companyName.appName.dao.repository ->
I use dao.repository for all the repositories used with spring-data-jpa.
com.companyName.appName.dao.repository.impl ->
I use dao.repository.impl for all customized implementations of repositories.
For example to autowire the entityManager.
com.companyName.appName.service ->
I use service for all my service interfaces
com.companyName.appName.service.impl ->
I use service.impl for all my implementations of services
com.companyName.appName.controller ->
I use controller for all my controllers.
com.companyName.appName.view.model ->
I use view.model for all my frontend specific models which are no enitites.
com.companyName.appName.view.form ->
I use view.form for all my frontend specific forms which has to be submitted and validated.
com.companyName.appName.util ->
I use util for utility stuff.
Run Code Online (Sandbox Code Playgroud)
我希望这能让您简要概述我如何为 spring-boot 应用程序构建我的包。但每个人都喜欢有自己的命名。所以要使其通用是非常困难的。
归档时间: |
|
查看次数: |
6941 次 |
最近记录: |