springboot学习教程(二)- 目录结构以及编码规范
目录结构:
简介:
这一篇里,我们来说说springboot的项目结构一般是什么样的整体结构,分别具有什么作用。应该如何拓展等。清楚了这个之后,对项目文件的管理以及理解会有一个较为清晰的轮廓。
基础结构:
- springbootDemo(项目名)
- src
- main
- java
- 应用地址的反写,如:com.xxxx.www
- controller
- mapper
- model
- service
- ******Application (如 :UserApplication)
- 应用地址的反写,如:com.xxxx.www
- resource
- application.properties
- java
- main
- pom.xml
- src
解释:
- controller文件夹里存放的是各请求的入口controller类;
- mapper文件夹里存放的是各个方法所用的sql的文件,一般为java类或XML文件;
- service文件夹存放的是承载controller方法的业务逻辑的service类,请将业务逻辑内容写在service方法中;
- model文件夹存放的为方法里所引用到的实体类,model里还可分为:dto、vo等,dto是mapper方法里引用相关联数据的类,vo则是用于表层传输的实体对象;
- Application,启动类!springboot由于内嵌容器,因此不需要再安装tomcat等容器去启动。但是需要一个启动的入口,而这个Application正是起到这种作用;
- application.properties,项目核心配置文件,数据库连接配置、参数配置等等都靠此文件规整;
- pom.xml,主要描述了项目的maven坐标,依赖关系等。
启动类示例:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DemoApplication {
//DemoApplication
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
application.properties示例:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/business?serverTimezone=Asia/Shanghai&verifyServerCertificate=false&useSSL=false&requireSSL=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=utf8&zeroDateTimeBehavior=convertToNull
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.login-timeout=60000
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.maximum-pool-size=15
spring.datasource.hikari.auto-commit=true
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.pool-name=DatebookHikariCP
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000
spring.datasource.hikari.connection-test-query=SELECT 1
pom.xml示例:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.example</groupId>
<artifactId>demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>demo</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
编码命名规范:
良好的编码命名规范可大大提高代码可读性,亦可让维护代码的人变得轻松。养成良好的命名规范,是让代码变得优雅的第一步。
- 类名应该遵守驼峰命名规则,不可出现下划线、美元符等符号,领域模型的相关命名除外:VO/DTO/DO
正例: OrgEntity/ UserVO / OrgService - 常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长。
正例:API_ERROR_CODE_1601 - 抽象类命名使用 Abstract 或 Base 开头 ; 异常类命名使用 Exception 结尾 ; 测试类命名以它要测试的类的名称开始,以 Test 结尾。枚举类名建议带上 Enum 后缀,枚举成员名称需要全大写,单词间用下划线隔开。
A) Service/DAO层方法命名规约
- 获取单个对象的方法用get做前缀。
- 获取多个对象的方法用list做前缀。
- 获取统计值的方法用count做前缀。
- 插入的方法用save(推荐)或insert做前缀。
- 删除的方法用remove(推荐)或delete做前缀。
- 修改的方法用update做前缀。
B) 领域模型命名规约
- 数据对象:xxxDO,xxx即为数据表名。
- 数据传输对象:xxxDTO,xxx为业务领域相关的名称。
- 展示对象:xxxVO,xxx一般为网页名称。
- POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
版权声明:本文为weixin_45125466原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。