SpringBoot
2021-01-20 17:13:07 172 举报
AI智能生成
SpringBoot
作者其他创作
大纲/内容
简介
微服务
微服务实现和实施思路则更强调功能趋向单一,服务单元小型化和微型化。
1、各司其职 2、服务高可用和可扩展性
SOA架构:面向服务的架构
微服务跳站:服务拆分,服务器多了,就需要标准化生产
IOC
控制反转
一种设计原则
可以用来减低计算机代码之间的耦合度
例子:依赖注入
依赖查找
AOP
面向切面编程
例子:例如审计(auditing)和事务(transaction)管理)进行内聚性的开发
Spring和SpringBoot比较
Spring
十二个模块 Spring JDBC 。Spring MVC。Spring AOP。Spring ORM。Spring JMS。Spring Test。Spring Expression Language (SpEL)
Spring Boot
spring-boot-starter-web-services: SOAP Web Services
spring-boot-starter-web: Web 和 RESTful 应用,这是默认常用的
spring-boot-starter-test:单元测试和集成测试,默认引用。
spring-boot-starter-jdbc: 传统 JDBC
spring-boot-starter-hateoas: 增加 HATEOAS 特性到服务。
spring-boot-starter-security: 使用spring安全实现验证和授权。
spring-boot-starter-data-jpa: Spring Data JPA with Hibernate
spring-boot-starter-cache: 激活 Spring Framework的缓存支持
spring-boot-starter-data-rest: 使用 Spring Data REST暴露简单的 REST 服务
spring-boot-starter-web: Web 和 RESTful 应用,这是默认常用的
spring-boot-starter-test:单元测试和集成测试,默认引用。
spring-boot-starter-jdbc: 传统 JDBC
spring-boot-starter-hateoas: 增加 HATEOAS 特性到服务。
spring-boot-starter-security: 使用spring安全实现验证和授权。
spring-boot-starter-data-jpa: Spring Data JPA with Hibernate
spring-boot-starter-cache: 激活 Spring Framework的缓存支持
spring-boot-starter-data-rest: 使用 Spring Data REST暴露简单的 REST 服务
建立独立的Spring应用程序
内嵌了如Tomcat,Jetty和Undertow这样的容器
无需再像Spring那样配置大量的xml文件
能够自动配置Spring应用
使用命令java -jar独立运行jar
Spring Boot核心功能
独立运行的 Spring 项目
内嵌 Servlet 容器
提供 starter 简化 Maven 配置
自动配置 Spring
准生产的应用监控
无代码生成和 xml 配置
REST服务
简介
是一种Web服务架构
目标是为了创建具有良好扩展性的分布式系统。
条件
前后端分离,页面和服务不在同一服务器上运行
层次化的系统
如一个父系统下有多个子模块,每个模块都是独立的服务。
无状态
服务端并不会保存有关客户的任何状态,也就是说要服务后端服务,就要带token过去
可缓存
服务端通过token缓存已登录过的用户信息
统一的接口
如,一个项目的所有模块都整合到一起,all-in-one,打成一个包,多个服务,整合到一个端口下
注解
Spring 6
@Configuration
@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法
@ComponentScan
注解默认就会装配标识了@Controller,@Service,@Repository,@Component注解的类到spring容器中。
@Conditional
注解可以根据代码中设置的条件装载不同的bean
@Import
通过导入的方式实现把实例加入springIOC容器中
@ImportResource
和@Import类似,区别就是@ImportResource导入的是配置文件。
@Component
是一个元注解,意思是可以注解其他类注解,如@Controller @Service @Repository
Spring Boot 20
@SpringBootApplication
Spring Boot最核心的注解,用在 Spring Boot的主类上,标识这是一个 Spring Boot 应用
@EnableAutoConfiguration
允许 Spring Boot 自动配置注解,开启这个注解之后,Spring Boot 就能根据当前类路径下的包或者类来配置 Spring Bean。
@SpringBootConfiguration
这个注解就是 @Configuration 注解的变体,只是用来修饰是 Spring Boot 配置而已
@ConditionalOnBean
仅在当前上下文中存在A对象时,才会实例化一个Bean,也就是说只有当A.class 在spring的applicationContext中存在时,这个当前的bean才能够创建。
@ConditionalOnMissingBean
组合@Conditional注解,和@ConditionalOnBean注解相反,仅仅在当前上下文中不存在A对象时,才会实例化一个Bean。
@ConditionalOnClass
组合 @Conditional 注解,可以仅当某些类存在于classpath上时候才创建某个Bean。
@ConditionalOnMissingClass
组合@Conditional注解,和@ConditionalOnMissingClass注解相反,当classpath中没有指定的 Class才开启配置。
@ConfigurationProperties
Spring Boot可使用注解的方式将自定义的properties文件映射到实体bean中,比如config.properties文件。
Web
静态内容
动态内容
模板引擎
JSP
中(Velocity)
新(Thymeleaf)
Servlet on Spring Boot
JSP on Spring Boot
嵌入式Web容器
Apache Tomcat
Eclipse Jetty
数据库 JDBC
数据源(DataSource)
嵌入式数据源
通用型数据
分布式数据源
事务(Transaction)
本地事务
分布式事务
JDBC(JSR-221)
JDBC 核心接口
数据库连接
JdbcTemplate 等自动装配
MyBatis
简介
简介
核心API
配置
全局XML配置
SQL Mapper XML 配置
SQL Mapper Annotation
自动生成器
实例讲解代码、配置自动生成
Spring Boot 整合
整合 mybatis-spring-boot-starter
JPA
简介
JPA 技术背景
JPA实现框架以及核心API
Spring Data JPA 整合
以 JPA 实现框架 Hibernate为例,实战整合 Spring Data JPA 技术
Spring Boot 整合
介绍和整合 spring-boot-stater-data-jpa
NoSQL
介绍
介绍
主流中间件
Spring Data 整合:
以 Elasticsearch
Spring Boot 整合
整合 spring-boot-starter-data-elaticsearch
缓存
Java Cache
Java 标准 Cache 规范
核心 API、主流实现框架
Spring Cache
Spring Cache 核心
API、Cache 注册、管理等
Cache 实战
实战本地缓存 Guava
分布式缓存 Redis
整合SpringBoot
整合 spring-boot-starter-cache
spring-boot-starter-data-redis
消息
JMS
Java 标准消息服务规范
核心 API、以及主流实现框架
AMQP
高级消息队列协议(AMQP)
Apache Kafka
搭建 Kafka 环境,介绍核心 API
Spring Kafka
整合:Spring 实战整合 Kafka
Spring Boot 整合
Spring Boot 环境 整合 Kafka
验证
Bean Validation
介绍 Java Bean 验证、核心 API、实现框架 Hibernate Validator
Apache commons-validator
介绍最传统 Apache 通用验证器框架,如:长度、邮件等方式
Spring Validator
介绍 Spring 内置验证器 API、以及自定义实现
Spring Boot
解读 spring-boot-starter-validation
WebSocket
0 条评论
下一页