随笔分类 - SSM
摘要:Zuul网关 前言 使用Spring Cloud实现微服务的架构,大致是这样的: 我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载;通过Spring Cloud Config实现了应用
阅读全文
摘要:Feign 在前面的学习中(SpringCloud 学习笔记1),使用了Ribbon的负载均衡功能,大大简化了远程调用时的代码: String baseUrl = "http://user-service/user/"; User user = this.restTemplate.getForObj
阅读全文
摘要:Hystrix 简介 Hystix,即熔断器。主页:https://github.com/Netflix/Hystrix/ , 已经停更两年多了。 Hystix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。 熔断器的工作机制 正常工作的情况下,客户端请求调
阅读全文
摘要:Eureka注册中心 认识Eureka 首先我们来解决第一问题,服务的管理。 问题分析 在刚才的案例中,UserService对外提供服务,需要对外暴露自己的地址。而consumer(调用者)需要记录服务提供者的地址。将来地址出现变更,还需要及时更新。这在服务较少的时候并不觉得有什么,但是在现在日益
阅读全文
摘要:Http客户端工具 既然微服务选择了Http,那么我们就需要考虑自己来实现对请求和响应的处理。不过开源世界已经有很多的http客户端工具,能够帮助我们做这些事情,例如: HttpClient OKHttp URLConnection HttpClient 介绍 HttpClient是Apache公司
阅读全文
摘要:系统架构演变 随着互联网的发展,网站应用的规模不断扩大。需求的激增,带来的是技术上的压力。系统架构也因此也不断的演进、升级、迭代。从单一应用,到垂直拆分,到分布式服务,到SOA,以及现在火热的微服务架构,还有在Google带领下来势汹涌的Service Mesh。我们到底是该乘坐微服务的船只驶向远方
阅读全文
摘要:MyBatis 框架概述 mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注 sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过程。 mybatis 通过 xml 或注解的方式将要执行的各种 statem
阅读全文
摘要:工程的创建、配置 创建 WEB 工程:SpringMvcStart 引入 jar 包(pom.xml) <properties> <!-- 版本锁定 --> <spring.version>5.0.2.RELEASE</spring.version> </properties> <dependenc
阅读全文
摘要:RequestMapping 注解 作用:是建立请求URL和处理方法之间的对应关系 RequestMapping注解可以作用在方法和类上 作用在类上:第一级的访问目录 作用在方法上:第二级的访问目录 细节:路径可以不编写 / 表示应用的根目录开始 细节:${ pageContext.request.
阅读全文
摘要:SpringBoot实践 整合SpringMVC 修改端口 查看SpringBoot的全局属性可知,端口通过以下方式配置:创建 SpringBoot 默认配置文件 —— application.yaml server: port: 80 也可以使用 application.properties 默认
阅读全文
摘要:自动配置原理 使用SpringBoot之后,一个整合了SpringMVC的WEB工程开发,变的无比简单,那些繁杂的配置都消失不见了,这是如何做到的? 一切魔力的开始,都是从我们的main函数来的,所以我们再次来看下启动类: @SpringBootApplication public class Bo
阅读全文
摘要:Java配置 在入门案例中,我们没有任何的配置,就可以实现一个SpringMVC的项目了,快速、高效! 如果没有任何的xml,那么我们如果要配置一个Bean该怎么办?比如我们要配置一个数据库连接池,以前会这么玩: <!-- 配置连接池 --> <bean id="dataSource" class=
阅读全文
摘要:快速入门 创建工程 新建一个空的工程: 工程名为demo: 新建一个model: 使用maven来构建: 然后填写项目坐标: 目录结构: 项目结构: 添加依赖 添加父工程坐标 <parent> <groupId>org.springframework.boot</groupId> <artifact
阅读全文
摘要:了解SpringBoot 什么是SpringBoot SpringBoot是Spring项目中的一个子工程,与我们所熟知的Spring-framework 同属于spring的产品: 我们可以看到下面的一段介绍: Takes an opinionated view of building produ
阅读全文
摘要:XML 文件的配置 <bean id="" class="" init-method="" destroy-method="" scope=""> <property name="" value=""></property> <property name="" ref=""></property>
阅读全文
摘要:Spring框架对JDBC的简单封装。提供了一个JDBCTemplate对象简化JDBC的开发。 使用步骤 导入架包:commons-logging-1.2.jar、spring-beans-5.0.0.RELEASE.jar、spring-core-5.0.0.RELEASE.jar、 sprin
阅读全文
摘要:PlatformTransactionManager 此接口是 spring 的事务管理器,它里面提供了我们常用的操作事务的方法 // 获取食物状态信息 TransactionStatus getTransaction(TransactionDefinition definition) // 提交事
阅读全文
摘要:AOP 概述 AOP(Aspect-Oriented Programming,面向切面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善。OOP引入封装、继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合。当我们需要为分散的对象
阅读全文
摘要:什么是工厂 工厂就是负责给我们从容器中获取指定对象的类。这时候我们获取对象的方式发生了改变。 控制反转 控制反转(Inversion of Control,英文缩写为I0C)把创建对象的权利交给框架,是框架的重要特征,并非面向对象编程的专用术语。它包括依赖注入(Dependency Injectio
阅读全文
摘要:SpringMVC 的基本概念 系统标准的三层架构包括:表现层、业务层、持久层。 三层架构中,每一层各司其职: 表现层 也就是我们常说的 web 层。它负责接收客户端请求,向客户端响应结果,通常客户端使用 http 协议请求web 层,web 需要接收 http 请求,完成 http 响应。 表现层
阅读全文