Spring Boot 心得体会

一、引言

Spring Boot 以其“约定优于配置”的设计理念、“开箱即用”的依赖模块,获得广大程序员和编程爱好者的关注和使用,在快速速开发应用程序和微服务架构实践中得到广泛应用。随着互联网的兴起,Spring势如破竹,占据着Java领域轻量级开发的王者地位。随着Java语言的发展以及市场开发的需求,Spring推陈出新,推出了全新的Spring Boot框架。Spring Boot是Spring家族的一个子项目,其设计初衷是为了简化Spring配置,从而可以轻松构建独立运行的程序,并极大提高开发效率。近几年微服务开发需求的迅速增加,Spring Boot框架的出现恰好完美解决了这些问题,同时其内部还简化了许多常用的第三方库配置,这也间接体现了Spring  Boot框架的优势。Spring Boot相关课程作为软件技术专业的核心课程,具有综合性、实践性、应用性等特征,旨在培养学生的知识应用能力、实践动手能力和软件开发能力,提升学生的综合素质。

二、概述

总的来说,Spring Boot框架简化了Java应用程序的开发和部署过程,提供了丰富的开箱即用的功能,使开发人员能够更加高效地构建高质量的应用程序。Spring Boot是一个用于快速构建基于Java的应用程序的开源框架。它简化了传统的Java开发流程,提供了自动配置、内嵌服务器和一系列开箱即用的功能,使开发人员能够更加专注于业务逻辑的实现。

1.以下是Spring Boot框架的一些主要特点和用途:

1. 简化配置:Spring Boot提供了自动配置功能,可以根据应用程序的依赖自动配置相关的设置,无需手动编写大量的配置文件。

2. 内嵌服务器:Spring Boot内置了常用的Web服务器(如Tomcat、Jetty等),使得应用程序可以直接以可执行的JAR文件形式运行,无需额外安装和配置服务器。

3. 独立性:Spring Boot应用程序可以作为独立的进程运行,无需依赖外部的Web容器,从而简化了部署和维护的过程。

4. 自动化依赖管理:Spring Boot使用了约定大于配置的原则,通过自动化依赖管理,可以简化应用程序的构建和升级过程。

5. 健康监测:Spring Boot提供了健康监测的功能,可以通过HTTP端点来监控应用程序的运行状态和性能指标。

6. 开箱即用的功能:Spring Boot提供了大量的开箱即用的功能,例如Web开发、数据库访问、缓存、消息队列、安全性等,开发人员可以直接使用这些功能,而无需手动集成第三方库。

三、实训内容

1.springboot开发入门

Spring Boot开发入门,主要按照以下步骤进行:

1.安装Maven并配置环境变量

                                                                       (1)

(2)安装

(3)新建环境变量

(4)编辑变量

(5).检查安装情况

2. 安装集成开发环境(IDE):选择一个适合您的IDE,例如Eclipse、IntelliJ IDEA或Spring Tool Suite(STS)。安装并配置您选择的IDE。

3. 创建一个Spring Boot项目:使用IDE创建一个新的Spring Boot项目,您可以选择使用Spring Initializr(一个Web界面)或IDE的Spring Boot项目模板。

   (1). 选择项目的基本设置(如构建工具、语言、Spring Boot版本等),然后添加所需的依赖关系(如Web、数据库等)。下载生成的项目压缩包,并解压到您的工作目录。

   (2). 使用IDE的Spring Boot项目模板:根据您的IDE选择适当的选项创建一个新的Spring Boot项目。

4. 编写代码:在项目中找到主要的Java类(通常是以`Application`结尾的类),这是项目的入口点。您可以在这个类中编写业务逻辑和处理请求的代码。

5. 运行应用程序:使用IDE或命令行工具运行应用程序。Spring Boot提供了内嵌的Web服务器,因此您可以直接运行应用程序。

6. 测试应用程序:编写单元测试和集成测试来验证应用程序的功能和正确性。Spring Boot提供了测试框架和工具,使得测试变得更加容易。

7. 部署应用程序:当您准备好部署应用程序时,可以将应用程序打包为可执行的JAR文件或WAR文件,并将其部署到适当的服务器或云平台上。

2.springboot核心配置

Spring Boot的核心配置主要包括以下几个方面:

1. application.properties/application.yml文件:这是Spring Boot项目的主要配置文件,用于配置应用程序的属性和特性。你可以在这里配置数据库连接、服务器端口、日志级别等。

2. @Configuration注解:通过使用@Configuration注解,你可以创建一个配置类,其中定义了一些Bean的实例化和配置。这些配置类可以使用@Autowired注解来自动装配其他组件。

3. @EnableAutoConfiguration注解:这个注解告诉Spring Boot根据项目的依赖关系自动配置应用程序。它会根据你的项目中所引入的依赖自动配置数据库连接、模板引擎、消息队列等。

4. @ComponentScan注解:通过@ComponentScan注解,你可以指定Spring Boot应用程序的包扫描路径,以便自动注册和装配被Spring管理的Bean。

5. 外部化配置:Spring Boot支持将配置属性从代码中外部化,这意味着你可以将配置属性放在外部文件中,而不是硬编码到代码中。可以使用@Value注解或@ConfigurationProperties注解来读取外部化配置。

3.springboot和数据库操作

Spring Boot是一个Java开发框架,它简化了Spring应用程序的搭建和配置过程。而MySQL是一个常用的关系型数据库系统,它可以与Spring Boot框架无缝集成。下面是一些关于Spring Boot和MySQL数据库操作的视频:

连接数据库

4.springboot与web项目开发

Web项目开发主要建立在B/S架构下,    是基于浏览器的项目开发。在众多互联网产品中,随处可见Web项目的身影。Spring Boot提供了 spring-boot-starter-web来为Web项目开发予以支持,为用户提供了嵌入的Tomcat万及Spring MVC的依赖,使用非常方便。本单元基于某公司资产管理系统的资产申请、资产采购等模块,介绍SpringBoot对Web项目开发的支持,主要包括静态资源处理、请求和响应处理、视图模板解析(Thymeleaf)等。使用Spring Boot进行Web项目开发,一般会使用MVC模式,主要包括模型端、视图层和控制端。在使用Spring MVC框架进行Web应用开发时,视图层主要由HTML和JSP承担,Spring Boot提供了一些视图技术支持,官网建议使用Thymeleaf模板引擎。

 5.Spring Boot数据缓存管理

Spring Boot支持透明地向应用程序添加缓存并对缓存进行管理,管理缓存的核心是将缓存应用于操作数据的方法中,从而减少操作数据的次数,同时不会对应用程序本身造成任何干扰。Spring Boot集成了Spring 的缓存管理功能,可以使用@EnableCaching注解开启基于注解的缓存支持,也可以通过整合第三方缓存(如 Redis)来实现缓存的应用。

1.在pom.xml文件中添加Spring Cache依赖:

2.在应用程序的配置类上添加@EnableCaching注解,开启缓存功能:

3.在需要进行缓存的方法上添加@Cacheable注解,指定缓存的名称和缓存的Key:

4.在应用程序的配置文件中配置缓存的类型和相关属性,如下是使用Ehcache作为缓存的示例:

5.创建ehcache.xml文件,配置缓存的相关属性:

6.Spring Boot消息队列

Spring Boot提供了对消息队列的集成支持,可以方便地实现异步消息传递和解耦应用程序的不同组件。在Spring Boot中,常用的消息队列框架有RabbitMQ和Apache Kafka。

1. RabbitMQ:RabbitMQ是一个开源的消息队列中间件,它实现了AMQP协议,并提供了可靠的消息传递机制。在Spring Boot中,可以通过引入spring-boot-starter-amqp依赖来集成RabbitMQ。然后,可以使用@RabbitListener注解来监听消息队列中的消息,使用@RabbitHandler注解来处理具体的消息。

2. Apache Kafka:Apache Kafka是一个分布式流平台,它具有高吞吐量、可扩展性和持久化的特性。在Spring Boot中,可以通过引入spring-kafka依赖来集成Kafka。然后,可以使用@KafkaListener注解来监听Kafka主题中的消息,使用@KafkaHandler注解来处理具体的消息。

使用消息队列可以实现应用程序的解耦,提高系统的可靠性和可伸缩性。例如,可以将系统中的不同模块通过消息队列进行通信,从而降低模块之间的耦合度。同时,消息队列还可以用于实现异步处理,将耗时的操作放入消息队列中进行处理,从而提高系统的性能和响应速度。

在使用消息队列时,需要合理设计消息的格式和内容,确保消息的可靠性和可扩展性。同时,还需要考虑消息队列的容错机制和监控机制,以及消息的序列化和反序列化方式等问题。

7.Spring Boot安全机制

随着时代的发展,前后端分离成为了现在开发的一种趋势,用户身份认证也发生了一系列的变化。传统的Cookie, Session验证方式存在跨域、扩展性的限制,Token验证方式成为了一个很好的替代方式,而JWT(JSON Web Token)是一个不错的选择。资产管理系统是一个前后端分离的项目,可以整合JJWT库实现资产管理系统中的登录认证功能。Spring Boot提供了强大的安全机制,可以帮助开发者保护应用程序的资源和数据。以下是Spring Boot的几种常用的安全机制:

1. 基于角色的访问控制:Spring Security是Spring Boot中用于认证和授权的核心框架。通过配置角色和权限,可以限制用户对资源的访问。可以使用@EnableWebSecurity注解启用Spring Security,并通过配置类来定义访问规则。

2. 表单登录:Spring Security支持表单登录,用户可以通过输入用户名和密码进行身份验证。可以通过配置类来定义登录页面、登录成功和登录失败的处理逻辑。

3. JWT(JSON Web Token):JWT是一种用于身份验证和授权的开放标准,Spring Boot通过集成Spring Security和JWT来实现无状态的身份验证机制。可以通过配置类和过滤器来实现JWT的生成和验证。

4. OAuth2:OAuth2是一种开放标准,用于授权第三方应用程序访问用户数据。Spring Boot提供了OAuth2的支持,可以通过配置类和过滤器来实现OAuth2的认证和授权。

5. 方法级别的安全控制:Spring Security提供了方法级别的安全控制,可以通过注解来限制某个方法只能被特定的角色或权限访问。

8.Spring Boot任务管理

定时任务的实现,最早使用Java自带的java.util.Timer类和TimerTask类,Timer类用来执行任务,接受一个TimerTask参数;或者使用Spring提供的注解@Schedule,如果定时任务执行时间较短,并且比较单一,可以使用这个注解;还可以使用开源的第三方框架Quartz,可以根据需要多实例部署定时任务,多用于分布式场景下的定时任务。

四、实践项目

1.某公司资产管理系统的部门管理任务实践视频:

3.2

五、springboot在使用时需要注意的方面

在使用Spring Boot时,有几个方面需要注意:

1.在开启项目前要检查数据库MySQL是否启动连接。

2. 版本兼容性:确保你使用的Spring Boot版本与其他依赖库的版本兼容。可以通过Spring Boot官方文档或者Maven中央仓库的元数据来查看版本兼容性。

3. 自动配置:Spring Boot提供了自动配置的功能,可以根据项目的依赖和配置文件来自动配置应用程序。但有时候可能会出现自动配置不符合预期的情况,需要手动配置来覆盖或修改自动配置。

4. 外部配置:Spring Boot支持通过配置文件或者命令行参数来配置应用程序。可以使用application.properties或者application.yml文件来配置应用程序的属性。同时,还可以使用@Value注解来注入属性值。

5. 日志管理:Spring Boot使用了slf4j作为日志接口,并提供了多种日志实现,如logback、Log4j2等。可以通过配置文件来设置日志的级别和输出格式。

6. 异常处理:Spring Boot提供了全局异常处理的机制,可以通过@ControllerAdvice注解来定义全局异常处理器,统一处理应用程序抛出的异常。

7. 数据库访问:Spring Boot对数据库访问提供了多种方式,如JdbcTemplate、Spring Data JPA等。可以根据具体需求选择适合的方式进行数据库访问。

8. 测试:Spring Boot提供了测试支持,可以使用JUnit或者Spring Test框架进行单元测试和集成测试。可以使用@SpringBootTest注解来指定测试类或者测试方法。

以上是使用Spring Boot时需要注意的一些方面,根据具体的项目需求和实际情况。

六。心得体会

我的Spring Boot心得体会是:

1. 快速开发:Spring Boot提供了自动配置的功能,使得开发者不需要繁琐的配置,可以快速搭建起一个可运行的应用程序。同时,Spring Boot还提供了丰富的starter包,可以方便地集成各种常用的第三方库和框架。

2. 简化配置:Spring Boot通过约定大于配置的原则,减少了开发者需要手动配置的工作量。大部分的配置都可以通过默认的配置和注解来完成,避免了繁琐的XML配置文件。

3. 内嵌服务器:Spring Boot内置了Tomcat、Jetty等常用的Web服务器,可以直接运行应用程序,无需额外安装和配置服务器。这样可以简化部署流程,并且方便进行开发和测试。

4. 丰富的生态系统:Spring Boot作为Spring Framework的扩展,可以无缝集成Spring的各种组件和模块。同时,Spring Boot还提供了许多用于开发微服务的功能和工具,如服务注册与发现、配置中心等。

5. 监控和管理:Spring Boot提供了丰富的监控和管理功能,如健康检查、性能监控、日志管理等。这些功能可以帮助开发者更好地了解和管理应用程序的运行状态。

总的来说,Spring Boot是一个非常强大且易于使用的框架,可以极大地提高开发效率和代码质量。它的设计理念和功能使得开发者可以专注于业务逻辑的实现,而无需过多关注底层的配置和细节。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值