目录
1.Spring boot简介
1.1.什么是Spring Boot
1.2.为什么要学习Spring Boot
复杂的配置
混乱的依赖管理
1.3.Spring Boot的特点
1.3.2直接嵌入应用服务器,如tomcat、jetty、undertow等;不需要去部署war包。
1.3.3提供固定的启动器依赖去简化主键配置;实现开箱即用(启动器starter-其实就是Spring Boot提供的一个jar包),通过自己设置参数(.properies或.yml的配置文件),即可快速使用。
1.3.4自动的配置Spring和其它有需要的第三方依赖。
1.3.5提供了一些大型项目中常见的肺功能性特性,如内嵌服务器、安全、指标、健康检测、外部化配置等。
2.建立Spring Boot项目文件
选择配置
pom添加依赖
添加父工程坐标
添加web启动器
管理jdk版本
编写controller
启动测试
打开页面
6.Spring Boot项目部署
总结
Spring Boot是一个可使用Java构建微服务的微框架。是Spring框架及其社区对“约定优先于配置”理念的最佳实践。Spring Boot的设计目的是让你尽可能快地启动和运行,而无需预先配置Spring。Spring Boot以以一种固定的方式来构建可用于生产级别的应用程序。一般把Spring Boot称为搭建程序的脚手架或者说是便捷搭建基于Spring的工程脚手架。其最主要作用就是帮助开发人员快速的构建庞大的spring项目,并且尽可能的减少一切xml配置,做到开箱即用,迅速上手,让开发人员关注业务而非配置。
设计目的: 用来简化新 Spring 应用的初始搭建以及开发过程。
从最根本上来讲,Spring Boot 就是一些库的集合,它能够被任意项目的构建系统所使用。它使用 “习惯优于配置” (项目中存在大量的配置,此外还内置一个习惯性的配置)的理念让你的项目快速运行起来。用大佬的话来理解,就是 spring boot 其实不是什么新的框架,它默认配置了很多框架的使用方式,就像 maven 整合了所有的 jar 包,spring boot 整合了所有的框架,总结一下及几点:
(1)为所有 Spring 开发提供一个更快更广泛的入门体验。
(2)零配置。无冗余代码生成和XML 强制配置,遵循“约定大于配置” 。
(3)集成了大量常用的第三方库的配置, Spring Boot 应用为这些第三方库提供了几乎可以零配置的开箱即用的能力。
(4)提供一系列大型项目常用的非功能性特征,如嵌入式服务器、安全性、度量、运行状况检查、外部化配置等。
(5)Spring Boot 不是Spring 的替代者,Spring 框架是通过 IOC 机制来管理 Bean 的。Spring Boot 依赖 Spring 框架来管理对象的依赖。Spring Boot 并不是Spring 的精简版本,而是为使用 Spring 做好各种产品级准备
java一直被人诟病的一点就是臃肿、麻烦。当我们还在辛苦的搭建项目时,可能Python程序员已经把功能写好了,究其原因注意时两点:
项目各种配置其实是开发时的损耗,因为在思考Spring特性配置和解决业务问题之间需要进行思维切换,所以写配置挤占了写应用逻辑的时间。
项目的依赖管理也是件吃力不讨好的事情。决定项目里要用哪些库就已经够让人头痛的了,你还要知道这些库的哪个版本和其他库不会有冲突,这实在棘手。而且依赖管理也是种耗损,添加依赖不是写应用程序代码。一旦选错了版本,随之而来的不兼容问题毫无疑问会是生产力杀手。
而Spring Boot让这一切成为过去!
Spring Boot简化了基于Spring的应用开发,只需要“run”就能创建一个独立的、生产级别的Spring应用。Spring Boot为Spring平台及第三方库提供了开箱即用的设置(提供默认设置,存放默认配置的包就是启动器starter),这样我们就可以简单的开始。多数Spring Boot应用只需要很少的Spring配置。我们可以使用Spring Boot创建java应用,并使用java-jar启动它,就可以得到一个生产级别的web工程。
1.3.1创建独立的Spring应用,为所有Spring的开发者提供一个非常快速的、广泛接受的入门体验。
1.3.2直接嵌入应用服务器,如tomcat、jetty、undertow等;不需要去部署war包。
1.3.3提供固定的启动器依赖去简化主键配置;实现开箱即用(启动器starter-其实就是Spring Boot提供的一个jar包),通过自己设置参数(.properies或.yml的配置文件),即可快速使用。
1.3.4自动的配置Spring和其它有需要的第三方依赖。
1.3.5提供了一些大型项目中常见的肺功能性特性,如内嵌服务器、安全、指标、健康检测、外部化配置等。
1.3.6没有代码生成,也无需XML配置。
环境准备
(1)JDK 环境必须是 1.8 及以上,传送门:jdk1.8.191 下载
(2)后面要使用到 Maven 管理工具 3.2.5 及以上版本,所以会先介绍 Maven 的安装与配置
(3)开发工具建议使用 IDEA,也可以 MyEclipse,为了实现一站式服务,传送门:
IDEA 破解(原文是PyCharm的,步骤完全一样,Webstorm 也可以破解)
MyEclipse 2018 安装与破解
Spring Boot提供了一个名为spring-boot-starter-parent的工程,里面已经对各种常用依赖(并非全部)的版本进行了管理,我们的项目需要以这个项目为父工程,这样我们就不用操心依赖的版本问题了,需要什么依赖,直接引入坐标即可
为了让Spring Boot帮我们完成各种自动配置,我们必须引入Spring Boot提供的自动配置依赖,我们称为 启动器 。因为我们是web项目,这里我们引入web启动器,在 pom.xml 文件中加入如下依赖:
需要注意的是,我们并没有在这里指定版本信息。因为Spring Boot的父工程已经对版本进行了管理了。
这个时候,我们会发现项目中多出了大量的依赖。
那些依赖都是Spring Boot根据 spring-boot-starter-web 这个依赖自动引入的,而且所有的版本都已经管理好,不会出现冲突。
如果我们想要修改Spring Boot项目的jdk版本我们就在左上角项目文件中找到jdk选择你已经下载的jkd即可
Spring Boot项目通过main函数即可启动,我们需要创建一个启动类:
启动成功后访问localhost:8080/hello,spring-boot-starter-web默认端口号是8080,映射路径是hello。如果启动时出现端口号冲突可以在配置文件中更改端口号
我们在浏览器网页输入端口就可以打开页面,测试成功了!
将Spring Boot项目使用maven指令打成jar包
1.需要添加打包组件将项目中的资源、配置、依赖打包到一个jar包中;
添加打包组件,要放在dependency外围
运行完成后找到jar包的位置
然后打开cmd来运行这个jar包。命令为 java -jar 包名
运行成功之后就可以访问项目中的方法
SpringBoot开发有许多利与弊,下面我将分别进行分析。
利:
创造价值:计算机项目开发可以创造新的软件产品或解决实际问题,为用户或企业带来实际的价值。通过开发创新的软件应用,可以提高工作效率、简化操作流程、改善用户体验等,从而带来更好的业务成果和用户满意度。
技术提升:在计算机项目开发过程中,开发人员需要不断学习和掌握新的技术和工具,提高自己的技术能力。通过项目开发,可以深入了解和应用各种编程语言、框架和开发工具,不断拓宽自己的技术视野,提升自己的技术水平。
团队合作:计算机项目开发通常需要多人协作完成,这促使团队成员之间进行有效的沟通和协作,培养团队合作精神和能力。通过与团队成员合作,可以共同解决问题、分享经验、互相学习,提高团队整体的工作效率和质量。
创业机会:计算机项目开发为创业者提供了机会,他们可以通过开发自己的软件产品或服务,创造自己的商业机会。通过创业,他们可以实现自己的创意和梦想,创造自己的事业和财富。
弊:
高成本:计算机项目开发通常需要投入大量的时间、人力和资金。开发人员需要进行需求分析、设计、编码、测试等多个阶段的工作,这需要耗费大量的资源和精力。同时,项目开发过程中可能会遇到各种问题和挑战,需要不断调整和修正,进一步增加了开发成本。
高风险:计算机项目开发具有一定的风险性。由于技术的不确定性和需求的变化性,项目可能面临进度延误、功能缺陷、用户不满等问题。如果项目无法按时交付或无法满足用户需求,可能会导致项目失败,造成投资的浪费。
复杂性:计算机项目开发通常涉及多个技术领域和复杂的业务逻辑。开发人员需要掌握多种编程语言、框架和工具,同时理解和应用复杂的业务需求。这对开发人员的技术能力和学习能力提出了较高的要求,需要不断学习和更新知识。
首先,Spring Boot的快速开发特性给我留下了深刻的印象。相比于传统的Spring框架,Spring Boot提供了自动化配置和约定大于配置的原则,大大简化了项目的搭建和配置。通过使用Spring Boot,我可以快速地创建一个可运行的、独立的、基于Spring的应用程序。这使得开发过程更加高效,节省了大量的时间和精力。
Spring Boot的优秀的开发体验让我感到非常舒适。Spring Boot提供了丰富的开发工具和插件,可以帮助我们快速地开发和调试应用程序。例如,Spring Boot的热部署功能可以实时更新代码,无需重启应用程序,大大提高了开发效率。此外,Spring Boot还提供了可视化的管理界面,方便我们查看和监控应用程序的运行状态。
另外,Spring Boot的强大的生态系统也是我学习过程中的一个亮点。Spring Boot集成了许多常用的开发框架和组件,如Spring MVC、Spring Data JPA、MyBatis等,使得我们可以快速地集成这些框架和组件,减少了重复的开发工作。同时,Spring Boot还提供了丰富的第三方库和插件,可以帮助我们解决各种常见的开发问题,提高了开发效率。
最后,通过学习Spring Boot,我对微服务架构有了更深入的理解。Spring Boot天生支持微服务架构,通过使用Spring Boot可以快速地构建和部署微服务应用程序。Spring Boot提供了丰富的微服务相关的功能和工具,如服务注册与发现、负载均衡、熔断器等,帮助我们构建健壮、可扩展的微服务应用程序。
通过这次的Spring Boot课程学习,我深刻体会到了Spring Boot的强大和便捷性。它不仅提供了快速开发的特性,还提供了优秀的开发体验和强大的生态系统。通过学习Spring Boot,我对微服务架构有了更深入的理解。相信在以后课程中,我会愈发熟练,能更好掌握相关知识。
Spring Boot是一个强大而灵活的框架,它简化了Spring应用程序的开发和部署。它的优点包括简化配置、快速开发、微服务支持、自动化测试和丰富的生态系统。然而,它也存在一些缺点,如学习曲线较陡、过于自动化、依赖管理复杂和项目结构规范等。对于熟悉Spring框架的开发者来说,Spring Boot是一个非常有价值的工具,可以帮助他们更快地开发和交付高质量的应用程序。
spring官网