-
SpringBoot 简介:
- 简化 Spring 应用开发的一个框架
- 整合 Spring 技术栈的一个大整合
- J2EE 开发的一站式解决方案
- 优点:快速创建独立运行的 Spring 项目以及与主流框架集成
- 使用嵌入式的 Servlet 容器,应用无需打成 war 包,内嵌 Tomcat
- Srarters 自动依赖和版本控制
- 大量的自动装配,简化开发,也可以修改默认值
- 无需配置 XML 无代码生成,开箱即用
- 准生产环境的运行时应用监控
- 与云计算的天然集成
-
微服务:
- 简介:
- Spring Cloud 服务的治理方案
- Java 开发框架演变过程:Java开发框架演变过程 - 盗梦笔记 - 博客园
- 架构风格:服务微化
- 指开发单个小型的但有业务功能的服务,每个服务都有自己处理和轻量通讯机制,可以部署在单个或多个服务器上
- 微服务也指一种松耦合,有一定的有界上下文的面向服务框架
- 一个应用应该是一组小型服务,可以通过 HTTP 的方式进行互通
- 单体应用:ALL IN ONE
- 每一个功能元素最终都是一个可独立替换和独立升级的软件单元
- 微服务文档
- 微服务优点:
- 每一个微服务都很小,这样能聚焦一个指定的业务功能或业务需求
- 微服务能够被 2-5 人小团队开发
- 微服务是松耦合的,是有功能意义的服务,无论是开发阶段或是部署阶段都是独立的
- 微服务能够使用不同的语言开发
- 微服务允许容易且灵活的方式集成自动部署,通过持续集成工具,一个团队的新成员能够更快投入生产
- 微服务易于被一个开发人员理解、修改和维护
- 微服务能偶及时被要求扩展
- 微服务能够部署中低端配置的服务
- 易于和第三方集成
- 每个微服务都有自己的存储能力,可以有自己的数据库,也可以有统一的数据库
- 微服务缺点:
- 微服务架构可能带来过多的操作
- 可能付出双倍的努力
- 分布式系统可能复杂难以管理,因为分布式跟踪问题na难
- 当服务量增加,管理复杂性增加
- 简介:
-
MAVEN 设置:
- 给 maven 的 setting.xml 配置文件的 profiles 标签添加:
<profile><id>jdk‐1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties> </profile>
- IDEA 设置:
- 注意:第一个依赖后面的 -web 不要忘记
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.5</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.qcby</groupId><artifactId>springboot</artifactId><version>0.0.1-SNAPSHOT</version><!-- JDK 版本--><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies></project>
- 给 maven 的 setting.xml 配置文件的 profiles 标签添加:
-
SpringBoot Hello World(将 maven 项目改变成 SpringBoot 项目):
- 创建一个 maven 工程(打包方式为 jar 包)
- 导入 SpringBoot 相关的依赖
<parent><groupId>org.springframework.boot</groupId><artifactId>spring‐boot‐starter‐parent</artifactId><version>1.5.9.RELEASE</version> </parent> <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring‐boot‐starter‐web</artifactId></dependency> </dependencies>
- 编写一个主程序:启动 Spring Boot 应用
java">/** * @SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用 */ @SpringBootApplication public class HelloWorldMainApplication {public static void main(String[] args) {// Spring应用启动起来SpringApplication.run(HelloWorldMainApplication.class,args);} }
- 简化部署:可以将应用打成一个可执行的 jar 包
<!-- 这个插件,可以将应用打包成一个可执行的jar包--> <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins> </build>
- 编写相关的 Controller 和 Service:
@RestController public class HelloController {@RequestMapping("/hello")public String sayHello(){return "Hello World";} }