springboot学习教程(二)- 目录结构以及编码命名规范

springboot学习教程(二)- 目录结构以及编码规范

目录结构:

简介:

这一篇里,我们来说说springboot的项目结构一般是什么样的整体结构,分别具有什么作用。应该如何拓展等。清楚了这个之后,对项目文件的管理以及理解会有一个较为清晰的轮廓。

基础结构:

  • springbootDemo(项目名)
    • src
      • main
        • java
          • 应用地址的反写,如:com.xxxx.www
            • controller
            • mapper
            • model
            • service
          • ******Application (如 :UserApplication)
        • resource
        • application.properties
    • pom.xml

解释:

  1. controller文件夹里存放的是各请求的入口controller类;
  2. mapper文件夹里存放的是各个方法所用的sql的文件,一般为java类或XML文件;
  3. service文件夹存放的是承载controller方法的业务逻辑的service类,请将业务逻辑内容写在service方法中;
  4. model文件夹存放的为方法里所引用到的实体类,model里还可分为:dto、vo等,dto是mapper方法里引用相关联数据的类,vo则是用于表层传输的实体对象;
  5. Application,启动类!springboot由于内嵌容器,因此不需要再安装tomcat等容器去启动。但是需要一个启动的入口,而这个Application正是起到这种作用;
  6. application.properties,项目核心配置文件,数据库连接配置、参数配置等等都靠此文件规整;
  7. 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层方法命名规约

  1. 获取单个对象的方法用get做前缀。
  2. 获取多个对象的方法用list做前缀。
  3. 获取统计值的方法用count做前缀。
  4. 插入的方法用save(推荐)或insert做前缀。
  5. 删除的方法用remove(推荐)或delete做前缀。
  6. 修改的方法用update做前缀。

B) 领域模型命名规约

  1. 数据对象:xxxDO,xxx即为数据表名。
  2. 数据传输对象:xxxDTO,xxx为业务领域相关的名称。
  3. 展示对象:xxxVO,xxx一般为网页名称。
  4. POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。

你可能感兴趣的:(springboot,学习教程)