到哪里查网站备案信息,做网站需学什么条件,怎么清理网站后门文件,口碑好的赣州网站建设文章目录 1.Spring Boot(脚手架)2.微服务3.环境准备3.1创建SpringBoot项目3.2导入SpringBoot相关依赖3.3编写一个主程序#xff1b;启动Spring Boot应用3.4编写相关的Controller、Service3.5运行主程序测试3.6简化部署 4.Hello World探究4.1POM文件4.1.1父项目4.1.2父项目的父… 文章目录 1.Spring Boot(脚手架)2.微服务3.环境准备3.1创建SpringBoot项目3.2导入SpringBoot相关依赖3.3编写一个主程序启动Spring Boot应用3.4编写相关的Controller、Service3.5运行主程序测试3.6简化部署 4.Hello World探究4.1POM文件4.1.1父项目4.1.2父项目的父项目4.1.3启动器 1.Spring Boot(脚手架)
Spring Boot是简化Spring应用开发的一个框架,整个Spring技术栈的一个大整合,J2EE开发的一站式解决方案
Spring Boot的优点:
快速创建独立运行的spring项目以及与主流框架集成使用嵌入式的Servlet容器应用无需打成war包内嵌TomcatStarters自动依赖和版本控制大量的自动装配简化开发也可以修改默认值无需配置XML无代码生成开箱即用准生产环境的运行时应用监控与云计算的天然集成
2.微服务
Spring Cloud微服务治理方案
2014年Martin Fowler 和 James Lewis 发表了一篇重要的文章《Microservices - a definition of this new architectural term》。在这篇文章中他们提出了微服务架构的基本概念。
从传统的单体应用到微服务架构经历了以下演变
单体架构Servlet/SSM最早的架构模式适用于简单应用。SOA拆分服务以提高重用性和灵活性但存在集成和性能的挑战。微服务Spring Cloud将服务进一步细化追求每个服务的自治性和独立性解决了 SOA 中的复杂性问题。
微服务架构风格服务微化
微服务是指开发单个小型的但有业务功能的服务每个服务都有自己处理和轻量通讯机制可以部署在单个或多个服务器上。微服务也指一种种松耦合的有一定的有界上下文的面向服务架构。一个应用应该是一组小型服务可以通过HTTP的方式进行互通单体应用ALL IN ONE微服务每一个功能元素最终都是一个可独立替换和独立升级的软件单元
微服务文档https://martinfowler.com/articles/microservices.html#MicroservicesAndSoa
微服务优点
每一个微服务都很小这样能聚焦一个指定的业务功能或业务需求。微服务能够被小团队单独开发这个小团队是2到5人的开发人员组成。微服务是松耦合的是有功能意义的服务无论是开发阶段或是部署阶段都是独立的。微服务能够使用不同的语言开发。微服务允许容易且灵活的方式集成自动部署通过持续集成工具一个团队的新成员能够更快投入生产。微服务易于被一个开发人员理解修改和维护这样小团队能够更关注自己的工作成果微服务能够即时被要求扩展。微服务能够部署中低端配置的服务。易于和第三方集成。每个微服务都有自己的存储能力可以有自己的数据库也可以有统一的数据库。
微服务缺点
微服务架构可能带来过多的操作可能双倍的努力分布式系统可能复杂难以管理因为分布部署跟踪问题难当服务量增加管理复杂性增加
3.环境准备
环境约束
jdk 1.8maven 4.5.6IDEA2017SpringBoot 2.5.6
3.1创建SpringBoot项目
省略可以查看SpringBoot项目的创建方式-CSDN博客
3.2导入SpringBoot相关依赖 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.5.6/versionrelativePath/ /parentdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter/artifactId/dependency/dependencies3.3编写一个主程序启动Spring Boot应用
注意要将主程序放入三级根目录下 /**
* SpringBootApplication 来标注一个主程序类说明这是一个Spring Boot应用
*/
SpringBootApplication
public class SpringBoot01Application {public static void main(String[] args) {// Spring应用启动起来SpringApplication.run(SpringBoot01Application.class,args);}
}3.4编写相关的Controller、Service
Controller
public class HelloController {ResponseBodyRequestMapping(/hello)public String hello(){return Hello World!;}
}3.5运行主程序测试 使用浏览器访问8080为未设置的默认端口号 不需要如SSM项目配置Tomcat就可以访问网页因为SpringBoot中内嵌了Tomcat会根据导入SpringBoot的版本自动匹配Tomcat版本 3.6简化部署
在pom.xml添加下面这个插件
!‐‐ 这个插件可以将应用打包成一个可执行的jar包‐‐
buildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins
/build将这个项目进行打包 java -jar 包名 当命令窗口关闭后则不能访问
4.Hello World探究
4.1POM文件
4.1.1父项目 parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.5.6/versionrelativePath/ !-- lookup parent from repository --/parent作用spring-boot-starter-parent 是 Spring Boot 官方提供的一个父级 POM项目对象模型文件它是一个专为 Spring Boot 项目定制的父 POM。它为你的 Spring Boot 项目提供了一些默认的配置包括插件版本、依赖项管理和一些常见的构建配置。
功能
继承此父 POMMaven 会自动为项目配置很多常见的插件和默认依赖项。提供合理的默认配置简化项目设置开发者无需单独配置构建插件如 maven-compiler-plugin、maven-spring-boot-plugin 等。集成 Spring Boot 所需的特定插件和依赖项使构建和打包过程更加顺畅。relativePath 是空的意味着从 Maven 仓库中查找父 POM而不是相对路径用于特殊情况。
4.1.2父项目的父项目
他来真正管理Spring Boot应用里面的所有依赖版本是Spring Boot的版本仲裁中心
以后我们导入依赖默认是不需要写版本没有在dependencies里面管理的依赖自然需要声明版本号
parentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion2.5.6/version/parent作用spring-boot-dependencies 是 Spring Boot 的依赖管理 BOMBill Of Materials文件。它用于统一管理所有 Spring Boot 项目的依赖版本确保依赖库的版本兼容性。它并不直接提供插件或构建配置而是为项目提供了一个集中式的依赖管理。
功能
通过引入 spring-boot-dependencies你无需手动指定 Spring Boot 项目所需的依赖版本号父 POM 会自动为你管理这些版本。它帮助统一管理 Spring 相关库的版本避免了版本冲突或不兼容的情况。它并不会直接引入所有的依赖而是提供一个依赖版本的推荐集合可以通过 dependencyManagement 来进行声明从而控制项目中的依赖版本。
4.1.3启动器 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencyspring-boot-starter-web
spring-boot-starterspring-boot场景启动器帮我们导入了web模块正常运行所依赖的组件
Spring Boot将所有的功能场景都抽取出来做成一个个的starters启动器只需要在项目里面引入这些starter
相关场景的所有依赖都会导入进来。要用什么功能就导入什么场景的启动器