admin管理员组文章数量:1566614
一、Spring Boot简介以及优势
Spring Boot是一个用于构建生产级别的基于Spring框架的应用程序的开源框架。它利用约定优于配置的原则,为Java开发人员提供了快速、便利的方式来构建独立的、生产级别的Spring应用程序。
Spring Boot具有以下特点和优势:
-
简化配置:Spring Boot通过自动配置和起步依赖简化了应用程序的配置过程,开发人员可以快速搭建起一个功能完备的应用程序,而无需过多的手动配置。
-
内嵌式容器:Spring Boot支持内嵌式的Servlet容器,如Tomcat、Jetty或Undertow,使得应用程序可以被打包成一个可执行的JAR文件,方便部署和运行。
-
微服务支持:Spring Boot天生适合用来构建微服务架构,通过Spring Cloud等相关组件,可以轻松地实现服务发现、配置管理、负载均衡等功能。
-
自监控:Spring Boot提供了丰富的端点(Actuator Endpoints),可以帮助开发人员了解应用程序的运行状态、性能指标等,方便监控和管理。
-
生态系统:Spring Boot与Spring框架和其他相关项目(如Spring Data、Spring Security等)高度集成,为开发人员提供了全面的解决方案。
总之,Spring Boot通过简化配置、提供内嵌式容器、支持微服务架构等特性,大大简化了Java应用程序的开发、部署和管理过程,是现代Java应用程序开发的首选框架之一。
下图是Spring的一个大致体系结构:
二,Spring Boot实质以及注释
1,实质:
Spring Boot实质上是一个用于简化Spring应用程序开发的框架和工具集合。它并不是一个全新的框架,而是建立在现有的Spring框架之上,旨在通过约定大于配置的原则,提供一种更加快速、便捷的方式来构建基于Spring的应用程序。
具体而言,Spring Boot的实质包括以下几个方面:
-
简化配置:Spring Boot通过自动配置和起步依赖,大大简化了应用程序的配置过程,使得开发人员无需进行大量的手动配置,而是可以依靠约定好的默认设置,快速搭建起一个功能完备的应用程序。
-
内嵌式容器:Spring Boot支持内嵌式的Servlet容器,如Tomcat、Jetty或Undertow,这意味着应用程序可以被打包成一个可执行的JAR文件,内置了Web服务器,省去了外部Web容器的安装和配置。
-
自动化任务:Spring Boot提供了许多自动化的任务,例如应用程序的启动、停止、监控等,使得开发人员可以更专注于业务逻辑的实现,而无需过多关注底层的技术细节。
-
微服务支持:Spring Boot天生适合构建微服务架构,通过Spring Cloud等相关组件,可以轻松地实现微服务所需的各种功能,如服务注册与发现、负载均衡、断路器等。
因此,Spring Boot的实质是为了简化Spring应用程序的开发过程,提高开发效率,降低代码的复杂度,使得开发人员能够更快地构建出高质量、可靠的应用程序。
2,注解:
Spring Boot中有许多注解,它们用于标识和配置应用程序的各个部分,包括控制器、服务、组件扫描、数据库连接等。以下是一些常用的Spring Boot注解:
-
@SpringBootApplication
:用于标识主应用程序类,通常位于应用程序的入口处,它整合了@Configuration
、@ComponentScan
和@EnableAutoConfiguration
三个注解。 -
@Controller
:用于标识控制器类,处理HTTP请求。 -
@RestController
:组合了@Controller
和@ResponseBody
,用于构建RESTful风格的控制器类。 -
@Service
:用于标识服务类,通常作为业务逻辑的实现类。 -
@Repository
:用于标识数据访问层(DAO)组件,通常与数据库交互。 -
@Component
:通用的组件标识注解,用于标识任意组件类。 -
@Autowired
:用于自动装配Bean,可以标注在字段、构造方法、Setter方法上。 -
@Value
:用于注入属性值,从配置文件中获取对应的数值。 -
@RequestMapping
:用于映射HTTP请求到控制器的处理方法,定义URL路径和请求方法。 -
@GetMapping
、@PostMapping
、@PutMapping
、@DeleteMapping
:这些注解分别对应HTTP的GET、POST、PUT、DELETE请求,用于更细粒度地定义请求映射。 -
@Transactional
:用于标识事务性方法或类,确保方法执行时处于一个事务当中。
三,Spring Boot开发环境的配置
在进行Spring Boot开发之前,你需要进行一些基本的环境配置,包括Java开发工具包(JDK)的安装、Maven或Gradle的安装和配置等。以下是一个简单的Spring Boot开发环境配置过程:
-
安装JDK:首先确保你已经安装了Java开发工具包(JDK),Spring Boot通常需要使用Java 8及以上版本。你可以从Oracle官方网站或OpenJDK项目下载并安装合适的JDK版本。
通过官网下载 https://www.oracle/java/technologies/downloads/ 百度网盘 https://pan.baidu/s/1DT2GBEuj5HImZyzylxMpAg 提取码: iw9c 按步骤安装即可(实在成功不了就去找博客大佬的文章来借鉴) -
配置JAVA_HOME:设置JAVA_HOME环境变量,指向你安装的JDK目录。在Windows系统中,你可以在“系统属性” -> “高级” -> “环境变量”中进行设置;在Unix或Linux系统中,你可以编辑.bash_profile或.profile文件来设置环境变量。如图所示,先进行搜索,在进行配置即可,因为不能多张图片一起放,此处省略,可找其他博客进行配置。
-
安装构建工具:Spring Boot项目通常使用Maven或Gradle作为构建工具。你可以从它们的官方网站上下载并安装最新版本的Maven或Gradle。
注意: maven 的安装需要依赖 jdk 的安装,所以必须先安装完成 jdk 且配置好 jdk 环境变量后再进行 maven 的安装!!配置环境变量的方法基本和JDK相同。 通过官网下载 https://maven.apache/download.cgi 百度网盘 https://pan.baidu/s/1DT2GBEuj5HImZyzylxMpAg 提取码: iw9c 按步骤安装即可 -
配置Maven或Gradle:如果你选择使用Maven,你需要在Maven的配置文件(settings.xml)中设置镜像和代理等相关配置。对于Gradle,你需要配置Gradle的环境变量和相关的全局设置,这是maven配置阿里云的代码。
<project xmlns="http://maven.apache/POM/4.0.0" xmlns:xsi="http://www.w3/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache/POM/4.0.0 http://maven.apache/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.test</groupId> <artifactId>conifg</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <repositories> <repository> <id>central</id> <name>aliyun maven</name> <url>http://maven.aliyun/nexus/content/groups/public/</url> <layout>default</layout> <!-- 是否开启发布版构件下载 --> <releases> <enabled>true</enabled> </releases> <!-- 是否开启快照版构件下载 --> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> </project>
-
安装集成开发环境(IDE):虽然不是必需的,但使用一个集成开发环境,如IntelliJ IDEA、Eclipse或VS Code,通常会极大地提高开发效率,软件的使用也是因人而异的。
为了方便 Spring boot 的开发,笔者用的是旗舰版的 IDEA 通过官网下载 https://www.jetbrains/idea/download/ 百度网盘 https://pan.baidu/s/1DT2GBEuj5HImZyzylxMpAg 提取码: iw9c IDEA 旗舰版激活方式 学生认证 (https://www.jetbrains/shop/eform/students) 激活码激活,详见网盘 配置 IDEA( 以 IDEA2023 为例 ) -
创建Spring Boot项目:一旦环境配置完成,你就可以使用IDE或命令行工具来创建一个新的Spring Boot项目。Spring Initializr(https://start.spring.io/)是一个很方便的在线工具,可以帮助你快速生成一个基本的Spring Boot项目结构。
-
编写代码:最后,你可以开始编写Spring Boot应用程序的代码了。根据你的需求,你可能还需要通过配置文件(application.properties或application.yml)来配置应用程序的各种属性和参数。
以上是一个简单的Spring Boot开发环境配置过程,当然,在实际开发中还会涉及到更多细节和特定的工具使用
四,使用maven的方式构建Spring boot项目
要使用Maven构建Spring Boot项目,你可以按照以下步骤进行操作:
-
创建一个新的Spring Boot项目:你可以使用Spring Initializr(https://start.spring.io/)网站来生成一个基本的Spring Boot项目结构,然后下载并解压它。
-
在pom.xml中配置Maven依赖:打开生成的项目文件夹,编辑其中的pom.xml文件。在这个文件中,你需要添加Spring Boot Starter依赖以及其他必要的依赖项。例如,你可以添加spring-boot-starter-web作为Web应用程序的起步依赖。
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- 其他依赖项 --> </dependencies>
-
编写Spring Boot应用程序:在src/main/java目录下创建你的应用程序类,并编写相应的业务逻辑和控制器等。
-
构建项目:在项目根目录下打开命令行工具,执行以下Maven命令进行项目构建:
mvn clean package
这将编译代码、运行单元测试,并将项目打包成可执行的JAR文件。
- 运行应用程序:构建成功后,你可以在target目录中找到生成的JAR文件,然后通过命令行运行它:
java -jar your-application.jar
这样就启动了你的Spring Boot应用程序。
通过上述步骤,你就可以使用Maven构建一个简单的Spring Boot项目了。
五,Spring Boot关于数据层方面框架的整合与使用
在Spring Boot中,你可以整合多种数据层框架来满足不同的需求,包括JPA/Hibernate、MyBatis、Spring Data JPA等。下面我将介绍如何在Spring Boot中整合和使用这些数据层框架。
整合JPA/Hibernate
- 添加依赖:在pom.xml中添加Spring Data JPA和适当的数据库驱动程序依赖
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- 选择合适的数据库驱动依赖,比如MySQL、H2等 --> </dependencies>
- 配置数据源:在application.properties(或者application.yml)中配置数据库连接信息:
spring.datasource.url=jdbc:mysql://localhost:3306/db_name spring.datasource.username=username spring.datasource.password=password spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
-
定义实体类:创建用于映射数据库表的实体类,并使用JPA注解进行标识。
-
编写Repository接口:创建一个继承自JpaRepository的接口,通过该接口可以方便地进行数据库操作。
-
使用EntityManager:如果需要更灵活的查询,可以使用EntityManager进行原生SQL查询或者Criteria API查询。
整合MyBatis
- 添加依赖:在pom.xml中添加MyBatis Starter依赖和适当的数据库驱动程序依赖:
<dependencies> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> </dependency> <!-- 选择合适的数据库驱动依赖,比如MySQL、H2等 --> </dependencies>
-
配置数据源:同样在application.properties中配置数据库连接信息。
-
定义Mapper接口:创建Mapper接口,使用@Mapper注解标识,并编写SQL映射语句。
-
使用Mapper接口:在Service层或Controller层中注入Mapper接口,直接调用其中定义的方法进行数据库操作。
整合Spring Data JPA
Spring Data JPA是Spring对JPA的简化封装,使用起来更加方便。在Spring Boot中,你只需要添加spring-boot-starter-data-jpa依赖,配置数据源信息,并创建相应的实体类和Repository接口即可快速使用Spring Data JPA。
整合MyBatis - Plus
值得一提的是,这是国人开创的!!!
当你希望在Spring Boot中整合MyBatis Plus时,你可以按照以下步骤进行:
- 添加依赖:在pom.xml中添加MyBatis Plus Starter依赖和适当的数据库驱动程序依赖:
<dependencies> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>latest_version</version> </dependency> <!-- 选择合适的数据库驱动依赖,比如MySQL、H2等 --> </dependencies>
-
配置数据源:在application.properties中配置数据库连接信息,与前面提到的步骤类似。
-
定义实体类:创建用于映射数据库表的实体类,并使用MyBatis Plus的注解进行标识,比如@TableId、@TableName等。
-
编写Mapper接口:使用MyBatis Plus提供的BaseMapper接口,或者自定义Mapper接口继承自BaseMapper,无需编写SQL语句即可实现常见的CRUD操作。
-
使用Service类:在需要进行业务逻辑处理的地方,注入相应的Service类,通过调用Service类中封装的方法来进行数据操作。
-
高级功能:MyBatis Plus还提供了诸如分页查询、条件构造器、代码生成器等高级功能,可以根据需要进一步利用这些功能来简化开发工作。
通过整合MyBatis Plus,你可以利用其提供的便利功能来简化数据层的开发,同时充分利用Spring Boot的自动配置和依赖管理来提高开发效率。
六,Spring Boot总结
Spring Boot 是一个用于创建独立的、基于生产级别的 Spring 应用程序的框架,它简化了基于 Spring 的应用开发。下面是 Spring Boot 的一些关键特点和总结:
-
简化配置:Spring Boot 可以帮助开发人员快速搭建项目,它采用约定大于配置的原则,尽可能地减少对 XML 配置的需求,使得开发人员能够更专注于业务逻辑的实现而不是配置文件的编写。
-
内嵌容器:Spring Boot 通过内嵌的 Tomcat、Jetty 或 Undertow 等 Web 服务器,使得项目可以打包成一个可执行的 JAR 文件,方便部署和运行。
-
自动配置:Spring Boot 提供了大量的自动配置选项,根据 classpath 下的 jar 包、默认的属性文件等信息,可以自动化地配置 Spring 应用程序的各种组件。
-
微服务支持:Spring Boot 能够很好地与 Spring Cloud 结合,为构建微服务架构提供了良好的支持,包括服务发现、配置中心、断路器等微服务相关功能。
-
监控管理:Spring Boot 提供了 Actuator 模块,可以方便地查看应用程序的运行状况、健康状况、监控信息等,帮助开发人员更好地管理和维护应用程序。
-
生态丰富:Spring Boot 生态圈非常活跃,有大量的第三方库和插件可供选择,同时有丰富的文档和社区支持。
总的来说,Spring Boot 通过简化配置、内嵌容器、自动配置、微服务支持、监控管理等特性,极大地提高了 Spring 应用程序的开发效率和便捷性,使得开发者能够更专注于业务逻辑的实现,是一个非常优秀的 Java 开发框架。
本文标签: 基础知识SpringBoot
版权声明:本文标题:SpringBoot基础知识 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1726788239a1084640.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论