-
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"; } }