建设一个企业网站要多少钱,wordpress站点一百数据卡不,石家庄建工科技学院石家庄做网站,做app模板下载网站前言
SpringBoot是整合Spring技术栈的一站式框架#xff0c;是简化Spring技术栈的快速开发脚手架#xff0c;是一个能够快速构建生产级别的Spring应用的工具。SpringBoot是目前流行的微服务框架#xff0c;倡导“约定优于配置”#xff0c;简化Spring项目搭建及开发过程。…前言
SpringBoot是整合Spring技术栈的一站式框架是简化Spring技术栈的快速开发脚手架是一个能够快速构建生产级别的Spring应用的工具。SpringBoot是目前流行的微服务框架倡导“约定优于配置”简化Spring项目搭建及开发过程。springboot提供了很多核心的功能比如自动化配置、starter简化maven配置、内嵌servlet容器、应用监控等功能。本文就来讲解SpringBoot项目的目录结构。 先看第一层目录 /.mvn 这是 Maven Wrapper 的存放位置。Maven Wrapper 是一个包装器工具用于在没有预先安装 Maven 的系统上运行 Maven 项目。它包含一个用于下载和安装特定 Maven 版本的脚本。如果删除这个文件夹会导致无法使用 Maven Wrapper 来自动下载和管理特定版本的 Maven。开发人员必须手动安装并配置全局的 Maven或者使用其他构建工具来代替 Maven。
/src 项目的源码层日常开发都在此目录下的进行
/target 放置编译后的.class文件、配置文件等、 target文件夹是用来存放项目构建后的文件和目录、jar包、war包、编译的class文件,都是maven构建时生成的。
/.gitignore Git 是一个版本控制系统用于跟踪项目中的代码更改。.gitignore 文件用于指定应该被 Git 忽略的文件和目录以防止它们被添加到版本控制中。这个文件通常包含一些自动生成的文件、编译输出、临时文件等。删除 .gitignore 文件可能会导致一些不应被版本控制的文件和目录被纳入版本控制中例如编译输出、临时文件等。这会增加代码库的体积使版本控制变得混乱。
/HELP.md 一个Markdown格式的文件,通常包含项目的帮助信息、说明和指南。这是一个包含项目帮助信息的 Markdown 文件。通常这个文件会提供项目的概述、配置说明、运行指南等信息方便其他开发人员了解和使用项目。删除 HELP.md 文件会使其他开发人员难以获取项目的相关信息降低项目的可维护性和可理解性。项目的说明、配置指南等重要信息将不再可用。
/mvnw mvnw 是 Maven Wrapper 的可执行脚本文件。它是 Spring Boot 项目中常见的一个文件用于简化构建和管理项目依赖的过程。Maven 是一个用于构建和管理 Java 项目的强大工具它使用项目配置文件pom.xml来定义项目的结构、依赖和构建过程。然而使用传统的 Maven 构建项目需要在本地环境中安装和配置 Maven 工具。 为了简化项目的构建和管理过程并确保项目在不同环境中的一致性Spring Boot 引入了 Maven Wrapper。Maven Wrapper 是一个用于包装 Maven 的脚本和库文件的工具可以将 Maven 包装在项目内部不依赖于本地环境中是否已安装 Maven。
在 Spring Boot 项目中mvnw 文件是 Maven Wrapper 的可执行脚本文件它会根据项目中的配置自动下载和使用特定版本的 Maven。当你在项目目录下执行 mvnw 命令时它会检查项目中是否已经存在所需的 Maven 版本如果不存在会自动下载并使用指定的 Maven 版本进行构建。
使用 Maven Wrapper 可以确保项目的构建过程独立于本地环境并提供了更好的可移植性和项目的一致性。你只需要使用项目中提供的 mvnw 文件无需手动安装和配置 Maven就可以在任何环境中构建和管理项目。
这是 Maven Wrapper 的可执行脚本Unix/Linux 系统。它允许在没有全局 Maven 安装的情况下运行 Maven 项目。运行 mvnw 脚本会自动下载并使用指定版本的 Maven 来执行项目构建、测试等操作。
/mvnw.cmd 这是 Maven Wrapper 的可执行脚本Windows 系统。与上面的 mvnw 脚本类似它也允许在没有全局 Maven 安装的情况下运行 Maven 项目但是用于 Windows 系统的命令行环境。删除这两个文件会导致无法使用 Maven Wrapper 运行 Maven 命令。开发人员将无法使用提供的脚本快速执行构建、测试和其他 Maven 相关操作。
/pom.xml pom.xml是Maven项目的核心配置文件用于管理项目的依赖、插件、构建配置等。在Spring Boot项目中pom.xml文件也扮演着重要的角色。在pom.xml文件中可以配置项目的资源文件。 在Spring Boot的pom.xml文件中通常会有一个resources标签文件用于指定资源文件的路径和名称 。
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.17-SNAPSHOT/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.example/groupIdartifactIddemo/artifactIdversion0.0.1-SNAPSHOT/versionnamedemo/namedescriptionDemo project for Spring Boot/descriptionpropertiesjava.version11/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter/artifactIdversion2.3.1/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependencydependencygroupIdcom.mysql/groupIdartifactIdmysql-connector-j/artifactIdscoperuntime/scope/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependencydependencygroupIdorg.mybatis.spring.boot/groupIdartifactIdmybatis-spring-boot-starter-test/artifactIdversion2.3.1/versionscopetest/scope/dependency!-- Swagger--dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger2/artifactIdversion2.9.2/version/dependency!-- Swagger-UI --dependencygroupIdio.springfox/groupIdartifactIdspringfox-swagger-ui/artifactIdversion2.9.2/version/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configuration/plugin/plugins/buildrepositoriesrepositoryidspring-milestones/idnameSpring Milestones/nameurlhttps://repo.spring.io/milestone/urlsnapshotsenabledfalse/enabled/snapshots/repositoryrepositoryidspring-snapshots/idnameSpring Snapshots/nameurlhttps://repo.spring.io/snapshot/urlreleasesenabledfalse/enabled/releases/repository/repositoriespluginRepositoriespluginRepositoryidspring-milestones/idnameSpring Milestones/nameurlhttps://repo.spring.io/milestone/urlsnapshotsenabledfalse/enabled/snapshots/pluginRepositorypluginRepositoryidspring-snapshots/idnameSpring Snapshots/nameurlhttps://repo.spring.io/snapshot/urlreleasesenabledfalse/enabled/releases/pluginRepository/pluginRepositories/project重点是src目录 |---/src/main |---|---/src/main/java:目录下放置所有的java文件源代码 |---|---|---/src/main/java/com/example/demo 核心源码存放文件
|---|---|---/src/main/java/com/example/demo/controller 控制层 |---|---|---/src/main/java/com/example/demo/service业务代码层 |---|---|---/src/main/java/com/example/demo/mapper持久层
|---|---|---/src/main/java/com/example/demo/vo 通常用于与前端交互封装前端调用某个接口之后所需的所有数据。在前后端分离的时代VO主要应用于表示视图层的类。
|---|---|---/src/main/java/com/example/demo/dto 则主要应用于数据传输层特别是在Controller层和Service层。在Controller层DTO用于接收参数无论是单个参数还是多个参数都可以通过创建一个DTO对象来进行接收。使用DTO传参相比使用注解(RequestParam等)具有更高的可读性和维护性。在Service层处理复杂的逻辑后将处理好的DTO进行copyBean即可无伤转换为持久化对象(Bo)。总的来说VO和DTO都是为了实现程序中的数据传输和交互但它们的使用场景不同。前端与后端交互时使用VO而在服务层之间传输数据时使用DTO。
|---|---|---/src/main/java/com/example/demo/entity存放实体类与数据库表名和字段名对应
|---|---|---/src/main/java/com/example/demo/config一些配置类例如redis、swagger等配置信息
|---|---|---/src/main/java/com/example/demo/utils一些工具类例如时间格式化工具、加密工具、返回结果封装工具、文件上传工具等
|---|---/src/main/resource 存放资源文件、如静态资源文件、配置文件、页面文件等
|---|---|---/src/main/resource/mapper存放MyBatis操作数据库的xml文件
|---|---|---/src/main/resource/static存放静态资源例如css样式、图片等
|---|---|---/src/main/resources/templates存放模板文件如thymeleaf模板文件
|---|---|---/src/mian/resource/application.properties: SpringBoot项目的配置文件SpringBoot支持.properties和.yml文件 application.properties文件内容 #端口号配置
server.port9099#数据源相关配置
spring.datasource.urljdbc:mysql://localhost:3306/finshing?serverTimezoneUTCcharacterEncodingUTF-8allowMultiQueriestrue
spring.datasource.password123456
spring.datasource.usernameroot#mybatis映射对应的实体类位置
mybatis.type-aliases-packagecom.example.demo.entity#mybatis的映射xml文件路径位置
mybatis.mapper-locationsclasspath:/mapper/*Mapper.xml#开启数据库下划线映射Java驼峰
mybatis.configuration.map-underscore-to-camel-case: truespring.mvc.view.prefix/pages/
spring.mvc.view.suffix.htmlspring.mvc.pathmatch.matching-strategy ant_path_matcher# 配置上传文件大小限制
# 单个文件大小配置
spring.servlet.multipart.maxFileSize30MB
# 请求总大小配置
spring.http.multipart.maxRequestSize 30MB
|---/src/test 单元测试类java文件