Spring Boot 学习研究笔记(一) - Spring Boot环境配置

简介: Spring Boot 学习研究笔记(一) - Spring Boot环境配置

一、什么是Spring Boot

 

Spring Boot 的官方网站:

https://projects.spring.io/spring-boot/

Spring Boot 的源码

https://github.com/spring-projects/spring-boot

1、Spring Boot 简介

Spring Boot是 Spring 开源组织下的一个子项目,也是 Spring 组件一站式解决方案,主要是为了简化使用 Spring 框架的难度,简省繁重的配置。Spring Boot 不是Spring 的替代者,Spring 框架是通过IOC 机制来管理 Bean 的,Spring Boot 依赖 Spring 框架来管理对象的依赖。Spring boot 并不是 Spring 的精简版,而是为使用 Spring 做各种产品级的准备。

Spring Boot提供了各种组件的启动器(starters),开发者只要能配置好对应组件参数,Spring Boot 就会自动配置,让开发者能快速搭建依赖于 Spring 组件的 Java 项目。

Spring Boot不但能创建传统的 war 包应用,还能创建独立的不依赖于任何外部容器(如:tomcat)的独立应用,使用 java -jar 命令就能启动。同时,Spring Boot也提供了一个命令行工具来执行 Spring 的脚本。

 

2、Spring Boot 的设计目标

  • 为 Spring 应用开发提供一个更快、更容易上手的入门体验;
  • 提供一系列在大型项目中经常用到的公共的非功能性特性,如:内嵌入服务器、安全、度量指标、健康检测、外部化配置;
  • 零代码配置生成及零 XML 配置;

 

3、Spring Boot 的特色

(1)、 独立运行

Spring Boot内嵌了各种 Servlet 容器,Tomcat、Jetty等,现在不再需要打成 war 包部署到容器中,Spring Boot 只要打成一个可执行的jar包就能独立运行,所有的依赖包都在一个 jar 包内。

 

(2)、简化 Maven 配置

现在只要依赖 spring-boot-starter-web 启动器包,它包含所有 web 开发所有的依赖,就能拥有 Spring Web 的能力,极大简少了 maven 对依赖的配置。

 

(3)、自动配置

Spring Boot能根据当前类路径下的类或者 jar 包里面来的类来自动配置 Spring Bean,如添加一个 spring-boot-starter-web 启动器就能拥有 web 的功能,无需其他配置。也可以在配置文件中添加相关配置来自定义装配,这个后面的课程会讲到,请关注后续内容。

 

(4)、无代码生成和XML配置

Spring Boot配置过程中无代码生成,也无需XML配置文件就能完成所有配置工作,这一切都是借助于条件注解完成的,这也是 Spring 4+ 的核心功能之一。

 

(5)、应用监控

Spring Boot提供一系列端点可以监控服务及应用,能对Spring 应用做健康检测

 

二、Spring Boot 在应用中的角色

Spring Boot 是基于Spring framework 来构件的,Spring framework 是一种 JSEE 的框架。

Spring Boot 是一种快速构建 Spring 应用,起承上启下的作用。

Spring Cloud 是构建 Spring Boot 分布式环境,也就是常说的云应用

 

 

 

三、环境准备工作

1、JDK 环境必须是1.8 及以上

jdk1.8.191 下载

https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

2、Maven 管理工具 3.2.5及以上

(1)、Maven的安装与环境配置

下载后解压到一个位置

官网下载:http://maven.apache.org/download.cgi

 

(2)、配置Maven 环境变量

 

新建变量名:MAVEN_HOME

变量值:D:\tool\apache-maven-3.6.3(这是我的 MAVEN 路径)

注意: 此环境变量必须在系统环境变量中,而不是用户环境变量中,否则不会生效,切记!

 

 

 

 

 

编辑变量名:

Path 在最前面加上:%MAVEN_HOME%\bin

 

 

(3)、检查配置是否成功

在命令行输入:

mvn -V

 

 

(4)、配置maven 仓库

a、打开 maven 文件夹下的 config 文件夹下的 settings.xml

 

b、找到 localRepository 标签,此时是被注释掉的。

 

我们配置一个路径,例如:D:/MavenLocalRepository/jar,这样以后 MAVEN 管理下载的jar 包都会在这个路径下。

【注意】:注意结点的位置,先找到注释掉的部分,贴在下面

 

c、配置远程仓库,找到 mirror 标签

<mirror>

 <id>aliyun</id>

 <name>aliyun Maven</name>

 <mirrorOf>*</mirrorOf>

  <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

</mirror>

 

d、建目录结构,复制settings.xml 到目录下

 

 

3、安装开发工具,建议使用 IntelliJ IDEA

具体安装步骤,这里就不介绍了。主要说下在 idea 如何配置 maven。

 

(1)、在 idea 配置 maven: 点击【File】>【Settings】>搜索【Maven】,配置安装目录和选择 settings 配置文件

 

选择完 settings之后,本地仓库将自动改成settings文件中的配置。点击apply,再点击ok即完成配置。


相关文章
|
10天前
|
缓存 前端开发 Java
【Spring】——SpringBoot项目创建
SpringBoot项目创建,SpringBootApplication启动类,target文件,web服务器,tomcat,访问服务器
|
2月前
|
监控 Java 数据库连接
详解Spring Batch:在Spring Boot中实现高效批处理
详解Spring Batch:在Spring Boot中实现高效批处理
223 12
|
2月前
|
安全 Java 测试技术
详解Spring Profiles:在Spring Boot中实现环境配置管理
详解Spring Profiles:在Spring Boot中实现环境配置管理
95 10
|
1月前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
127 5
|
2月前
|
XML 监控 安全
深入调查研究Spring AOP
【11月更文挑战第15天】
49 5
|
2月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
3月前
|
Java 测试技术 开发者
springboot学习四:Spring Boot profile多环境配置、devtools热部署
这篇文章主要介绍了如何在Spring Boot中进行多环境配置以及如何整合DevTools实现热部署,以提高开发效率。
116 2
|
2月前
|
前端开发 Java 开发者
Spring生态学习路径与源码深度探讨
【11月更文挑战第13天】Spring框架作为Java企业级开发中的核心框架,其丰富的生态系统和强大的功能吸引了无数开发者的关注。学习Spring生态不仅仅是掌握Spring Framework本身,更需要深入理解其周边组件和工具,以及源码的底层实现逻辑。本文将从Spring生态的学习路径入手,详细探讨如何系统地学习Spring,并深入解析各个重点的底层实现逻辑。
71 9
|
Java API Spring
Spring学习路径
Spring作为一个优秀的开源企业级框架有着一下特点 开源框架 简化企业级应用开发的流程 Spring是一个JavaSE/EE的一站式框架 优点在于 方便解耦 AOP的编程支持 声明式事务的支持 可以引入jUnit4,方便程序测试 对优秀开源框架的支持,方便集成 降低JavaEE API的使用难度.
2519 0
|
3月前
|
人工智能 自然语言处理 前端开发
SpringBoot + 通义千问 + 自定义React组件:支持EventStream数据解析的技术实践
【10月更文挑战第7天】在现代Web开发中,集成多种技术栈以实现复杂的功能需求已成为常态。本文将详细介绍如何使用SpringBoot作为后端框架,结合阿里巴巴的通义千问(一个强大的自然语言处理服务),并通过自定义React组件来支持服务器发送事件(SSE, Server-Sent Events)的EventStream数据解析。这一组合不仅能够实现高效的实时通信,还能利用AI技术提升用户体验。
256 2