Spring Boot入门

1. 基于Spring Boot的开发流程

  1. 使用@SpringBootApplication注解创建服务启动类;
  2. 编写响应Http请求的Contorller;
  3. 脱离服务器独立运行服务并启动服务监控;

2. Spring Boot的新特性

  • 支持快速构建项目;
  • 不依赖外部容器独立运行;
  • 开发部署效率高;
  • 云平台的天然集成;

3. Spring Boot的优势

  • 使编码更简单:只需要在Maven中添加一项依赖并实现一个方法就可以提供RESTful风格接口;
  • 使配置更简单:使用.yml作为配置,语义更强大,对各种功能组件提供了默认的starter;
  • 使部署更简单:可以一键启动,不需要部署应用服务器,内置Tomcat;
  • 使监控更简单:基于spring-boot-actuator组件,可以通过接口获得JVM性能指标,线程工作状态等运行时的信息。

4. Spring Boot服务构建

  • 使用IDEA:file->new->project-spring initializr;
4.1 Bootstrap类-启动类
  • 创建项目后自动创建同名的启动类,其中最重要的是 @SpringBootApplication 注解,该注解告诉Spring容器具备该注解的类是整个Spring容器中所有JavaBean对象的入口;
  • @SpringBootApplication 注解在指定启动类的同时马海辉自动扫描与当期那类同级及以下子包下的@Component@Service@Repository@Controller@Entity 等注解,并把这些注解对应的类转化为Bean对象全部加载到Spring容器中管理起来。
  • 启动类中的Main函数中执行了SpringApplication.run()方法,作用是启动容器并返回Spring的ApplicationContext对象
4.2 Controller类
  • 最重要的是下面两个注解 @RestController@RequestMapping
  • @RestController 是继承 @Controller的,不仅标识了当前类是一个Servlet,还告诉Spring Boot它是基于RESTful风格的HTTP端点,并且会自动使用JSON实行HTTP请求和响应的序列化/反序列化操作;
  • @RequestMapping与Spring MVC中是保持一直的
4.3 SpringBoot常见功能
  • 集成Spring Data
    支持多种SQL/NoSql 数据访问,提供了一些列默认的Repository,值得关系数据库,非关系数据库,Hadoop 大数据访问。
    • 集成 Spring Data JPA 支持对关系型数据库的访问;
    • 集成 Spring Data Redis 支持对Redis的访问;
    • 集成 Spring Data Mongodb 支持对 Mongodb 的访问;
    • 集成 Spring Cloud Stream 支持消息中间件;
  • 系统监控
    Spring Boot 提供了Actuator组件对应用系统的运行时状态管理、配置查看以及相关功能统计;
    • 在 pom 文件中引入依赖:Spring-boot-starter-actuator 以及 spring-hateoas后者是因为前者的使用要依赖于后者;在项目启动后,启动日志里会自动添加 autoconfig、dump、beans、actuator、health等多个HTTP端点,通过访问 Http://localhost:8080/actuator 就可以得到响应的结果;
    • 监控端点可以进行扩展:实现 HealthIndicator 接口,通过 health() 方法返回Health对象,再Health对象中添加新的监控配置想就可以实现扩展;
    • 通过实现Endpoint 接口来自定义监控;

5. Spring Boot 基本原理

Spring Boot 简洁性来自于 @SpringBootApplication 注解,他实际上是由三个注解组合而成的;

  • @Configuration:提供JavaConfig配置类实现;
  • @ComponentScan:扫描 @Component 等注解,把相关 Bean 定义批量加载到 IoC 容器中;
  • @EnableAutoConfiguration 是一种选择器,负责从各种配置想中找到需要导入的具体配置类,其中最关键的组件是 SpringFactoriesLoader ,它会在 META-INF/spring.factories 文件夹中查找所有的配置文件,并把 Key 为 EnableAutoConfiguration 所对应的配置通过反射实例化为配置类加载到容器中;
  • 当然也可以从外部配置文件加载配置信息,但是基于约定优于配置的思想,在 SpringBoot 中大量使用了默认配置。
补充- RESTful风格请求响应流程
  • Http请求;
  • URL地址映射;
  • 请求参数构件;
  • 对象序列化;
  • 业务逻辑处理;
  • 对象反序列化;
本项目是一个基于SSM(Spring+SpringMVC+MyBatis)后端框架与Vue.js前端框架开发的疫情居家办公系统。该系统旨在为居家办公的员工提供一个高效、便捷的工作环境,同时帮助企业更好地管理远程工作流程。项目包含了完整的数据库设计、前后端代码实现以及详细的文档说明,非常适合计算机相关专业的毕设学生和需要进行项目实战练习的Java学习者。 系统的核心功能包括用户管理、任务分配、进度跟踪、文件共享和在线沟通等。用户管理模块允许管理员创建和管理用户账户,分配不同的权限。任务分配模块使项目经理能够轻松地分配任务给团队成员,并设置截止日期。进度跟踪模块允许员工实时更新他们的工作状态,确保项目按计划进行。文件共享模块提供了一个安全的平台,让团队成员可以共享和协作处理文档。在线沟通模块则支持即时消息和视频会议,以增强团队之间的沟通效率。 技术栈方面,后端采用了Spring框架来管理业务逻辑,SpringMVC用于构建Web应用程序,MyBatis作为ORM框架简化数据库操作。前端则使用Vue.js来实现动态用户界面,搭配Vue Router进行页面导航,以及Vuex进行状态管理。数据库选用MySQL,确保数据的安全性和可靠性。 该项目不仅提供了一个完整的技术实现示例,还为开发者留下了扩展和改进的空间,可以根据实际需求添加新功能或优化现有功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值