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

SpringBoot的创建和使用 ❤️❤️❤️前面我们讲完了Spring的相关知识,现在来学习SpringBoot。一、什么是Spring Boot?为什么要学?Spring 的诞生是为了简化 Java 程序的开发的,而Spring Boot 的诞⽣是为了简化Spring程序开发的。Spring Boot是一个轻量级的框架,它能够帮助开发者快速构建基于Spring框架的应用程序。相比于传统的Spring框架,在使用Spring Boot时,我们不需要进行大量的配置和集成,而是可以通过简单的注释和代码来实现自动化配置和集成。 阅读详情

使用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 官方支持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以及一些工程基本信息,具体可参考下图。

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

使⽤用 IDEA 构建

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

 

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

 

  • 填写相关内容后,单击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的基础结构共三个文件,具体如下:

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

src/main/resources:配置文件;

src/test/java:测试程序。

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

com.example.myproject目录下:

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 项目配置更加灵活。
 

SpringBoot⽬录⽂件结构和官⽅推荐的⽬录规范、静态资源访问 讲解SpringBoot⽬录⽂件结构和官⽅推荐的⽬录规范、静态资源访问 ⽬录讲解 src/main/java:存放代码 src/main/resources static: 存放静态⽂件,⽐如 css、js、image, (访问⽅式 http://localhost:8080/js/main.js) templates:存放静态⻚⾯jsp,html,tpl config:存放配置⽂件,application.properties resources: 同个⽂件的加载顺序,静态资源⽂件 Spring Boot 阅读详情

相关推荐

如何打包部署 Spring Boot 项⽬

1.美图 2.概述 Spring Boot 使⽤了内嵌容器,因此它的部署⽅式也变得非常简单灵活,⼀方面可以将 Spring Boot 项目打包成独⽴立的 Jar 或者 War 包来运行,也可以单独打包成 War 包部署到 Tomcat 容器中运行,如果涉及到⼤规模的部署 Jinkins 就成为最佳选择之⼀。 Spring Boot 默认集成 Web 容器,启动方式和普通 Java 程序⼀样, m...

九师兄 733

搭建SpringBoot项目依赖和配置快速篇

这里主要是搭建项目常用到的maven依赖以及搭建项目会需要用到的一些配置文件,可能下面这些依赖还不是很全,但是应该会满足日常大部分的需求了。

zly03的博客 4871

使用 Docker 部署 Spring Boot 项目

1.美图 2.概述 如今 Docker 的使⽤用已经⾮非常普遍,特别是在⼀一线互联⽹网公司,使⽤用 Docker 技术可以帮助企业快速⽔水平扩展 服务,从⽽而达到弹性部署业务的能⼒力力。在云服务概念兴起之后, Docker 的使⽤用场景和范围进⼀一步发展,如今 在微服务架构越来越流⾏行行的情况下,微服务 + Docker 的完美组合,更更加⽅方便便微服务架构运维部署落地。 3.什什么是 Dock...

九师兄 672

SpringBoot(依赖管理和自动配置)

-导入springboot父工程--> < parent > < artifactId > spring-boot-starter-parent < groupId > org.springframework.boot < version > 2.5.3 < dependencies >

Sun的个人博客 4395

别再只用跳层连接了!手把手教你用DASI和MDCR模块提升红外小目标检测精度

本文详细介绍了如何利用DASI和MDCR模块提升红外小目标检测精度。通过分析传统跳层连接的缺陷,提出维度感知的特征选择性融合(DASI)和多尺度感受野精炼器(MDCR)的创新方案,显著提升小目标检测性能。实验证明,该方法在多个场景下AP@0.5提升达15.4%,特别适用于安防监控和遥感图像分析。

weixin_28715081的博客 224

W5500以太网模块官方驱动移植

W5500驱动移植

weixin_42621095的博客 4126

springboot依赖选择

springboot依赖选择

lydstory123的专栏 172

【医学图像分割网络】之Res U-Net网络PyTorch复现

【医学图像分割网络】之Res U-Net网络PyTorch复现 1.内容 U-Net网络算是医学图像分割领域的开山之作,我接触深度学习到现在大概将近大半年时间,看到了很多基于U-Net网络的变体,后续也会继续和大家一起分享学习。这次分享ResNet+U-Net的一个改进版,ResNet本身就是一个十分优秀的backbone,目前应用仍然十分广泛,我们融合进ResNet后,我们就可以使得U-Net进行迁移学习了。 1.将Resnet作为encoder替换U-Net原始结构 2.U-Net提出时间较早,当时还没

qq_39071739的博客 1万+

SpringBoot环境配置(我懒,全是复制的依赖)

要看这里,要使用SpringBoot的话JDK版本要在1.8以上!! 依赖 <!-- maven工程是可以继承的 作用:继承一个springboot的父工程,可以使用父工程中声明的依赖,部分不需要指定版本号 --> <parent> <groupId>org.springframework.boot</groupId...

weixin_44702269的博客 368

贝叶斯机器学习在吸附量预测中的应用

本文介绍了贝叶斯机器学习在吸附量预测中的应用。通过Python实现完整的贝叶斯建模流程,包括数据生成、预处理、模型构建与评估。文章对比了贝叶斯与频率学派的差异,详细阐述了贝叶斯线性回归和神经网络的实现方法,并提供了数据可视化、模型诊断等技术细节。该方法不仅能预测吸附量,还能量化预测不确定性,为工程决策提供更全面的依据。全文超过6000字,结合理论推导与代码实践,是应用贝叶斯方法解决实际工程问题的完整指南。

AI的内部世界的博客 166

boost::circular_buffer缓行缓冲区

1、circular_buffer实现了一个环形缓冲区,空间大小是固定的,当到达容器末尾时,将自动利用容器另一端的位置空间。 2、当程序需要容纳大量的元素,但多数情况下仅保存较少数量元素时可以使用circular_buffer_space_optimized,他可以有效的减少内存的占用,提高程序的运行效率。 3、主要接口: 4、实现一个生产者---消费者模式示例: #inc...

小米的修行之路 791

第 5-6 课:使⽤ Docker 部署 Spring Boot 项⽬

如今 Docker 的使⽤已经⾮常普遍,特别是在⼀线互联⽹公司,使⽤ Docker 技术可以帮助企业快速⽔平扩展 服务,从⽽达到弹性部署业务的能⼒。在云服务概念兴起之后,Docker 的使⽤场景和范围进⼀步发展,如今 在微服务架构越来越流⾏的情况下,微服务 + Docker 的完美组合,更加⽅便微服务架构运维部署落地。 什么是 Docker Docker 最初是 dotCloud ...

qq_34227896的博客 7782

智能预测性维护AI系统实战效率提升:AI应用架构师的技巧分享

在工业领域,预测性维护(Predictive Maintenance, PdM)是降低停机损失、优化维护成本的关键手段。然而,现有系统往往面临三大效率瓶颈数据处理延迟:工业设备产生的海量实时数据(如传感器、PLC)需传输至云端处理,导致预警滞后;模型推理效率:复杂深度学习模型(如ResNet、Transformer)在边缘设备上推理时间长,无法满足实时要求;落地集成困难:与企业现有ERP、MES、SCADA系统对接繁琐,导致“模型好用但业务不用”的尴尬。本文从架构、数据、模型、落地架构设计。

AI天才研究院 744

【JavaEE】Spring Boot 项目创建

Springboot项目的启动

yj20040627的博客 4490

漏洞挖掘之工具配置

本文主要讲解burp工具的插件安装。

qq_64775230的博客 3273

AUTOSAR内存篇 -内存驱动(Mem)

Mem驱动程序的task是基于底层内存设备技术的物理分段的低级内存访问。Mem驱动程序的API与内存设备技术无关,因此向存储器访问模块上层提供了与存储器设备无关的接口。所有高级功能(如跨段操作)都由内存访问模块处理,以尽可能降低Mem驱动器的复杂性和占用空间。Mem驱动API命名、类型定义和文件命名规则都遵循标准的AUTUSAR BSW模块实现。服务Mem_Init初始化Mem驱动的内部状态,并设置Mem驱动Job处理状态到MEM_JOB_OK。

IOT2017的博客 713

第 5-5 课: 如何打包部署 Spring Boot 项⽬

Spring Boot 使⽤了内嵌容器,因此它的部署⽅式也变得⾮常简单灵活,⼀⽅⾯可以将 Spring Boot 项⽬打包 成独⽴的 Jar 或者 War 包来运⾏,也可以单独打包成 War 包部署到 Tomcat 容器中运⾏,如果涉及到⼤规模 的部署 Jinkins 就成为最佳选择之⼀。 Spring Boot 默认集成 Web 容器,启动⽅式和普通 Java 程序⼀样,mai...

qq_34227896的博客 9564

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【JavaEE】SpringBoot快速上手,探秘 Spring Boot,搭建 Java 项目的智慧脚手架

本文聚焦 Java 开发框架 Spring Boot,Spring Boot 为简化 Spring 开发应运而生,是其便捷的 “脚手架”。详细介绍了 Spring Boot 项目的创建方式,包括使用 Idea 创建时如何安装插件及操作步骤,还有网页版创建的流程。 pom.xml 文件中依赖的引入及父工程对版本号的管理机制。介绍了项目目录结构,如main/java 存放源代码,resources 放置静态资源与配置文件等。还讲解了 Spring Boot 内置 Tomcat 服务器,无需额外配置即可运行项目。

Code哈哈笑的博客 2227

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

创建SpringBoot项⽬

创建SpringBoot项⽬

qq_67549203的博客 354

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

JavaEE进阶 --Spring Framework、Spring Boot和Spring MVC(1)

Spring Framework是官方的叫法,平日里我们叫做Spring,他是基础核心框架,其中有很多个模块,而Spring MVC是其中的一个Web层模块,用来处理HTTP请求,基于这个核心基础框架,又有了Spring家族,而Spring Boot是其中的一个独立项目,目的是为了快速开发,它可以集成其他Spring家族,如Spring Data、Spring Cloud等.

s060618的博客 559

Spring Boot日志

SpringBoot内容了⽇志框架,默认情况下使⽤的是info⽇志级别将⽇志输出到控制台的,我们可以通过lombok提供的@Slf4j 注解和log 对象快速的打印⾃定义⽇志

matexiang的博客 4006

Spring Boot 快速入手

在学习SpringBoot之前,我们先来认识⼀下Spring我们看下Spring官⽅可以看到,Spring让Java程序更加快速,简单和安全.Spring对于速度、简单性和⽣产⼒的关注使其成为 世界上最流⾏的Java框架。Spring官⽅提供了很多开源的项⽬,覆盖范围从Web开发到⼤数据,Spring发展到了今天,已经形成了⾃ ⼰的⽣态圈.我们在开发时,也倾向于使⽤Spring官⽅提供的技术,来解决对应的问题.

eternal__day的博客 1234

【JavaEE进阶】Spring Boot文件配置

计算机上有数以千计的配置⽂件,我们使⽤的绝⼤多数软件,⽐如浏览器,微信,Idea, 甚⾄电脑,⼿机,都离不开配置⽂件.我们可能永远不会直接与其中的⼤部分⽂件打交道,但它们确实以不同的形式散落在我们的计算机上,⽐如C:\Users,C:\Windows⽂件夹,以及各种*.config,*.xml⽂件。配置⽂件主要是为了解决硬编码带来的问题,把可能会发⽣改变的信息,放在⼀个集中的地⽅,当我们启动某个程序时,应⽤程序从配置⽂件中读取数据,并加载运⾏。并且上述文件名字不能有错,否则配置无效。

mr_yuanshen的博客 1277

初识 Spring Boot

Spring让Java程序更加快速,简单和安全。Spring对于速度、简单性和生产力的关注使其成为世界上最流行的Java框架

z141042的博客 914

Maven 基础与 Spring Boot 入门:环境搭建、项目开发及常见问题排查

全面讲解Maven项目管理和SpringBoot框架的实战应用。从IntelliJ IDEA版本选择与环境配置入手,系统介绍了Maven的核心概念、项目构建机制、依赖管理策略以及仓库配置技巧。特别针对SpringBoot项目的创建过程,深入剖析了插件安装、配置优化和常见问题的解决方案。同时,涵盖了Web服务器工作原理、HTTP请求响应流程以及开发中常见的404/500错误排查方法。无论你是Java开发新手还是希望提升项目构建效率的中级开发者,本指南都将帮助你建立完整的Maven和SpringBoot知识体系

HANhylyxy的博客 1744

【JavaEE】Spring Boot配置文件

SpringBoot配置文件,properties与yml,yaml格式及基础语法

yj20040627的博客 2909
上一篇: Spring Boot 2.0 都更更新了什么——Spring Boot(二)
下一篇: Spring Boot的第一个程序——Hello World——Spring Boot(四)
无知是恶
博客等级 码龄7年 9粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值