欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Boot 依赖环境和项⽬目结构——Spring Boot(三)

程序员文章站 2024-02-20 16:43:40
...

使用Spring Boot 开发项目需要有两个基础环境和一个开发工具这两个环境是指Java编译环境和构建工具环境一个开发工具是指IDE开发工具

Spring Boot 2.0要求Java8作为最低版本,需要在本机安装JDK1.8并进行环境变量配置,同时需要安装构建工具编译 Spring Boot项目,最后准备一个顺手的IDE开发工具即可。

构建工具是一个把源代码生成可执行应用程序的自动化工具,Java领域中主要有三大构建工具:Ant、Maven和Gradle。
 

Ant(AnotherNeatTool)的核心是由Java编写,采用XML作为构建脚本,这样就允许你在任何环境下运行构建。Ant是Java领域最早的构建工具,不过因为操作复杂,慢慢的已经被淘汰了

Maven,Maven发布于2004年,目的是解决程序员使用Ant 所带来的一些问题,它的好处在于可以将项目过程规范化、自动化、高效化以及强大的可扩展性。

Gradle,Gradle 是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言来声明项目设置,而不是传统的XML。结合了前两者的优点,在此基础之上做了很多改进,它具有Ant的强大和灵活,又有Maven的生命周期管理且易于使用。
 

Spring Boot 依赖环境和项⽬目结构——Spring Boot(三)

Spring Boot 官方支持Maven和Gradle作为项目构建工具。Gradle虽然有更好的理念,但是相比Maven来讲其行业使用率偏低,并且Spring Boot 官方默认使用Maven,因此本系列课程选择使用Maven作为Spring Boot项目构建工具。

Java领域最流行的IDE 开发工具有Eclipse和IDEA。Eclipse是Java的集成开发环境(IDE),也是Java领域最流行的IDE开发工具之一,只是Eclipse 这些年发展缓慢,慢慢的有些陈旧。IDEA(IntelliJIDEA)是用于Java 语言开发的集成环境,在业界被公认为是最好的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、创新的GUl设计等方面的功能可以说是超常的。因此强烈推荐大家使用IntellJ IDEA 开发Spring Boot项目

接下来将介绍如何搭建基础环境以及IntelliJIDEA的安装。
 

安装JDK开发环境:

这方面的博文已经多的不行,基本上随便百度一下即可完成下载和安装。这里就不再赘述。

查看一下本机的Java环境:

使用命令"java -version"即可查看本机的Java编译环境。

Microsoft Windows [版本 10.0.18362.535]
(c) 2019 Microsoft Corporation。保留所有权利。

C:\Users\Mac>java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

C:\Users\Mac>

安装Maven:

同上,Maven的安装也是相当简单的,自行百度即可解决。

本机的Maven环境查看:

使用命令"mvn -v"即可查看本机maven及Java环境版本信息。

C:\Users\Mac>mvn -v
Apache Maven 3.5.3 (3383c37e1f9e9b3bc3df5050c29c8aff9f295297; 2018-02-25T03:49:05+08:00)
Maven home: G:\Maven3.5.3\apache-maven-3.5.3-bin\apache-maven-3.5.3\bin\..
Java version: 1.8.0_40, vendor: Oracle Corporation
Java home: D:\software\java1.8.40\jdk1.8.0_40\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows"

C:\Users\Mac>

只是需要注意的是,因为,maven是别人家的东西,假如我们需要使用的话要做一下简单的更改和配置。可以使用国内的仓库镜像。以下简单介绍以下Maven的相关配置。

settings.xml配置:

Maven 解压后目录下会有一个settings.xml文件,位置:${M2_HOME}/conf/settings.xm1,用来配置Maven的仓库和本地Jar 包存储地址。Maven 仓库地址代表从哪里去下载项目中的依赖包 Jar包;Maven会将所有的Jar包统一存储到一个地址下,方便各个项目复用。localRepository设置本地存放Jar包地址,可以根据自己的情况改动:
 

<localRepository>D:\Common Files\maven\repository</localRepository>

mirrors 为仓库列表配置的下载镜像列表:

<mirrors>
    <mirror>
    <id>repo2</id>
    <mirrorOf>central</mirrorOf>
    <name>spring2.0 for this Mirror.</name>
    <url>https://repo.spring.io/libs-milestone</url>
    </mirror>
    ...
<mirrors>

构建项目

我们有两种方式来构建 Spring Boot 项目基础框架,

第一种是使用Spring 官方提供的构建页面;

第二种是使用IntelliJ IDEA中的Spring 插件来创建。

使用Spring 官方提供页面构建

访问http://start.spring.io/网址。

选择构建工具Maven Project,编程语言选择Java、Spring Boot版本2.0.5以及一些工程基本信息,具体可参考下图。
Spring Boot 依赖环境和项⽬目结构——Spring Boot(三)

将构建的项目下载下来的项目目录结构如下: 

Spring Boot 依赖环境和项⽬目结构——Spring Boot(三)

使⽤用 IDEA 构建

  • 选择File I New I Project..命令,弹出新建项目的对话框。

Spring Boot 依赖环境和项⽬目结构——Spring Boot(三)

 

  • 选择Spring Initializr,Next也会出现上述类似的配置界面,IDEA帮我们做了集成。

Spring Boot 依赖环境和项⽬目结构——Spring Boot(三)

 

  • 填写相关内容后,单击Next 按钮,选择依赖的包再单击Next 按钮,最后确定信息无误单击Finish按钮。
  • 对上面的配置做如下解释。
  • 第一个选择框选择创建以Maven构建项目,还是以Gradle构建项目,这是两种不同的构建方式,其中Gradle 配置内容更简洁一些,并且包含了maven的使用,但我们日常使用maven 居多。
  • 第二个选择框选择编程语言,现在支持Java、Kotlin 和Groovy。
  • 第三个选择框选择 Spring Boot 版本,可以看出Spring Boot2.0的最新版本是2.0.5。
     

下面就是项目的配置信息了。

  • Group,一般填写公司域名,比如百度公司就会填:com.baidu,演示使用com.neo。
  • Artifact,可以理解为项目的名称了,可以根据实际情况来填,本次演示填 hello。
  • Dependencies,在这块添加我们项目所依赖的 Spring Boot 组件,可以多选,本次选择Web、Devtools两个模块。
     

项⽬目结构介绍

Spring Boot 依赖环境和项⽬目结构——Spring Boot(三)

如上图所示,Spring Boot的基础结构共三个文件,具体如下:

src/main/java:程序开发以及主程序入口;

src/main/resources:配置文件;

src/test/java:测试程序。

另外,Spring Boot建议的目录结构如下。

com.example.myproject目录下:
Spring Boot 依赖环境和项⽬目结构——Spring Boot(三)

com.example.myproject 目录下:

Application.java,建议放到根目录下面,是项目的启动类,Spring Boot 项目只能有一个main()方法;

comm目录建议放置公共的类,如全局的配置文件、工具类等;

model目录主要用于实体(Entity)与数据访问层(Repository);

repository 层主要是数据库访问层代码;

service 层主要是业务类代码;

web层负责页面访问控制。

resources目录下:

static目录存放web访问的静态资源,如js、cSs、图片等;

templates 目录存放页面模板;

application.properties存放项目的配置信息。

test目录存放单元测试的代码;pom.xml用于配置项目依赖包,以及其他配置。采用默认配置可以省去很多设置,也可以根据公司的规范进行修改,至此一个Java项目搭建好了!
 

Pom 包介绍

pom.xml 文件主要描述了项目包的依赖和项目构建时的配置,在默认的pom.xml包中分为五大块。

第一部分为项目的描述信息:
 

<groupId>com.neo</groupId>
<artifactId>hello</artifactId>
<version>2.0.5.RELEASE</version>
<packaging>jar</packaging>
<name>hello</name>
<description>Demo project for Spring Boot</description>

groupld,项目的包路径;

artifactld,项目名称;

version,项目版本号;

packaging,一般有两个值:jar、war,表示使用Maven 打包时构建成Jar包还是War包;

name,项目名称;

description,项目描述。
 

第二部分为项目的依赖配置信息:

<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.5.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

parent,标签内配置 Spring Boot 父级版本spring-boot-starter-parent,Maven支持项目的父子结构,引入父级后会默认继承父级的配置;

dependencies,标签内配置项目所需要的依赖包,Spring Boot体系内的依赖组件不需要填写具体版本号,spring-boot-starter-parent维护了体系内所有依赖包的版本信息。
 

第三部分为构建时需要的公共变量:

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>

上面配置了项目构建时所使⽤用的编码,输出所使用的编码,最后指定了项目使用的 JDK 版本。

第四部分为构建配置:

<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>

使用Maven 构建Spring Boot 项目必须依赖于spring-boot-maven-plugin 组件,spring-boot-maven-plugin能够以Maven的方式为应用提供Spring Boot的支持,即为Spring Boot 应用提供了执行Maven操作的可能。spring-boot-maven-plugin 能够将Spring Boot 应用打包为可执行的jar或war文件,然后以简单的方式运行Spring Boot应用。

以上即为pom.xml文件基础内容,几乎所有的Spring Boot项目都会用到以上配置信息。
 

总结

这一课我们介绍了Spring Boot 所依赖的基础环境,如何去搭建JDK、Maven环境,安装开发工具IDEA;对Spring Boot项目结构进行了解读,介绍了pom.xml文件内容的含义。通过本课的学习,我们发现构建Spring Boot 项目更简单方便,相比传统项目,Spring Boot 项目配置更加灵活。