- 博客(1006)
- 收藏
- 关注
原创 Spring boot切换Servlet容器
切换Servlet容器Spring boot默认配置Tomcat作为Servlet容器 引入web模块,默认使用嵌入式的Tomcat 可以切换Jetty、Undertow默认配置 Pom文件,查看依赖关系默认使用Tomcat 因为,Web引入了Tomcat的启动器切换JettyPom文件,排除Tomcat启动器依赖 在依赖关系,右键可以排除依赖<!-...
2018-09-16 21:04:37
1415
1
原创 Spring boot配置Servlet容器
配置Servlet容器Spring boot默认使用Tomcat,作为Servlet容器 也支持Jetty、Undertow作为Servlet容器Jetty适合开发长连接应用 长连接,表示一直进行点对点连接比如,Web聊天应用 聊天时,需要一直架起一个点对点连接Undertow是一个高性能,非阻塞的Servlet容器 并发性能非常好,但是,不支持JSP页面...
2018-09-16 21:02:54
1082
原创 Spring boot注册三大组件
注册三大组件Spring boot 以jar包的方式 使用嵌入式的Tomcat启动Web应用 没有Web应用目录结构,没有web.xml文件Web应用 是一个Web应用的目录结构 存在目录文件src/main/webapp/WEB-INF/web.xml 可以把三大组件,注册在web.xml中Spring boot 提供了三大组件,注册方式注册Servlet,使用Se...
2018-09-16 20:58:42
4737
1
原创 Spring boot自动注册DispatcherServlet
DispatcherServletSpringBoot自动配置SpringMVC的时候 自动注册SpringMVC的前端控制器DIspatcherServletDispatcherServletAutoConfigurationServletRegistrationBean向容器中,注入DIspatcherServlet New一个ServletRegistrati...
2018-09-16 20:53:50
6237
原创 Spring boot修改Servlet配置
配置文件通过配置文件,可以修改Servlet配置 默认使用Tomcat,作为Servlet容器Application.properties 绑定方式Server.prot属性 Ctrl+点击ServerProperties 绑定和server相关的配置这里面的属性,都是对服务器的设置 包括,端口号、访问路径、Session设置、连接超时时间 To...
2018-09-11 21:50:44
1961
1
原创 Spring boot嵌入式Servlet容器定制器
修改Servlet配置可以通过配置文件修改 也可以编写一个嵌入式Servlet容器定制器EmbeddedServletContainerCustomizer 在自定义配置中,添加组件EmbeddedServletContainerCustomizer 是一个接口,接口里只有一个方法实现这个方法 配置嵌入式的Servlet容器定制嵌入式Servlet容器的相关规...
2018-09-11 21:45:47
783
原创 Spring boot配置嵌入式Servlet容器
Servlet容器项目,打成war包,放在Tomcat启动 Tomcat就是一个Servlet容器Spring boot 默认的嵌入了Servlet容器Tomcat打开项目pom文件 右键Diagrams,show Dependencies显示依赖关系图 Ctrl+滚轮,可以缩放 Web应用引用了Spring-boot-starter-webWeb启动器...
2018-09-11 21:42:39
394
原创 Dubbo服务调用原理
服务调用原理参考文档 http://dubbo.apache.org/zh-cn/docs/dev/design.html 引用服务最终,创建一个代理对象InvokerInvocationHandler Invoke,是一层一层封装的结果 invoker.invoke执行 MockClusterInvoker invoker.invoke...
2018-09-11 21:40:30
3071
原创 Dubbo服务引用原理
服务引用原理 配置文件 通过Spring容器加载 每一个标签,对应一个解析类Reference对应ReferenceBean 实现了FactoryBean FactoryBean工厂Bean 引用标签,通过往容器中,注入Bean 使用时,从容器中,获取Bean对象getObject返回标签配置的Bean对象 Get获取Bean...
2018-09-11 21:37:24
1146
原创 Dubbo服务暴露原理
服务暴露原理配置文件IOC容器启动,加载配置文件的时候 Dubbo标签处理器,解析每一个标签封装成对应的组件 service解析service标签 将service标签信息,封装成ServiceBeanServiceBean实现了两个重要机制 InitializingBeanSpring的接口 当组件创建完对象之后 会调用In...
2018-09-11 21:32:12
2048
1
原创 Dubbo标签解析原理
配置文件是Spring的配置文件 程序启动,是以Spring的方式加载配置文件启动 Spring解析,配置文件中的每一个标签BeanDefinitionParser标签解析器 搜索,BeanDefinitionParser Ctrl+T,查看继承树 DubboBeanDefinitionParserDubbo标签解析器 Parse解析标签...
2018-09-11 21:23:03
445
原创 Dubbo框架设计原理
框架设计参考文档 http://dubbo.apache.org/zh-cn/docs/dev/design.html 整体分为三层Business业务逻辑层,只有一层Service 面向接口编程,一个接口,对应一个实现 远程调用,通过调用接口,来调用接口实现RPC用于完成远程过程调用,分为很多层Config配置层 用于封装配置文件中,解析的一些信息...
2018-09-11 21:19:25
467
原创 Spring boot定制错误数据携带出去
定制错误数据Spring boot出现错误以后,会来到/error请求 会被BasicErrorController处理,自适应返回浏览器访问,返回页面 客户端访问,返回json getErrorAttributes获取返回的响应数据在AbstractErrorController中定义 BasicErrorController的父类 BasicErr...
2018-09-11 21:12:40
837
原创 Spring boot定制错误json数据
定制错误json数据客户端访问 如果,程序出错了 返回的json数据,需要定制的定制错误页面 在模板文件夹、或者静态资源文件夹下 放置一个error文件夹,里面存放错误状态码对应的页面这些页面,就是错误页面 在错误页面,可以获取相关的错误信息自定义异常UserNotExistException 为了使异常抛出,继承运行时异常 写一个无参的构造器,调用super...
2018-09-11 21:08:32
2303
原创 Spring boot定制错误页面
定制错误页面浏览器访问 如果,程序出错了 需要返回一个符合项目网站风格的页面有模板引擎的情况下 error/状态码将错误页面命名为,错误状态码.html 放在模板引擎文件夹里面的,error文件夹下 发生此状态码的错误,就会来到对应的页面 DefaultErrorViewResolver默认错误视图解析器 可以使用 4xx和5xx作为错误页面的文件...
2018-09-10 23:02:47
5475
2
原创 Spring boot错误处理原理
错误处理原理ErrorMvcAutoConfiguration 错误处理自动配置 自动配置给容器中添加了以下组件1、DefaultErrorAttributes 2、BasicErrorController 3、ErrorPageCustomizer 4、DefaultErrorViewResolver错误处理过程一但系统出现4xx或者5xx之类的错误 ...
2018-09-10 22:57:29
1037
原创 Spring boot错误处理机制
错误处理机制当程序发生错误的时候浏览器访问Spring boot提供了一个默认的错误页面 包括错误状态码、错误类型、提示消息、时间 客户端访问当程序发生错误的时候 默认响应了一个json数据 Spring boot 会自动识别访问的类型 返回对应的错误提示类型浏览器,返回一个错误页面 客户端,返回一个json数据...
2018-09-10 22:05:36
348
原创 Netty通信原理
Netty基于Java框架NIO,进行通信 是一个异步事件驱动的,网络应用程序框架用于快速开发可维护的高性能协议服务器和客户端 极大地简化了TCP和UDP套接字服务器等网络编程Dubbo底层通信使用的netty框架,进行通信实现原理基于NIO的多路复用模型,来实现通信 启动过程Netty服务器启动 会绑定监听某一个端口 比如,dubbo的20...
2018-09-10 22:01:29
2331
原创 BIO与NIO区别
IO网络IO、本地IO 网络间的数据传输,称为网络IO 本地磁盘间的数据传输,称为本地IOBIOBlocking IO 阻塞IO实现原理服务器,当每一个请求进来 要接收传来的数据,都会开启一个Socket 开启一个线程,来处理数据 读取Socket传递的数据 获取到InputStream,读取数据 进行业务逻辑操作,操作完成之后 返回结果服务器会收到很...
2018-09-10 21:56:56
5049
原创 RPC原理
RPCRemote Procedure Call 远程过程调用调用步骤1、服务消费方client调用,以本地调用方式,调用服务 2、client stub接收到调用后,负责将方法、参数等 组装成能够进行网络传输的消息体 client stub,客户端代理 3、client stub找到服务地址,并将消息发送到服务端 4、server stub收到消息后,进行解码 s...
2018-09-10 21:53:48
332
原创 Dubbo整合hystrix
整合hystrixDubbo提供了,集群容错机制 可以通过配置,进行使用在实际开发中 一般,都是通过整合hystrix,进行集群容错Hystrix是Spring cloud中,默认整合的服务容错解决方案 通过,控制那些访问远程系统、服务和第三方库的节点 从而,对延迟和故障提供更强大的容错能力Hystrix 具备拥有回退机制和断路器功能的线程和信号隔离 请求缓存和...
2018-09-10 21:48:36
2604
原创 Dubbo服务容错
服务容错当集群调用失败,应该怎么处理Dubbo提供了多种容错方案 默认为,failover重试参考文档 http://dubbo.apache.org/zh-cn/docs/user/demos/fault-tolerent-strategy.html 集群容错模式Failover Cluster失败自动切换,当出现失败,重试其它服务器 通常,用于读操作,但重试会...
2018-09-10 21:43:51
1423
原创 Dubbo服务降级配置
服务降级配置可以在管控台,对消费者进行配置屏蔽,表示不发起远程调用,直接在客户端返回空对象 容错,表示当远程调用失败时,返回空对象屏蔽相当于 mock=force:return+null容错相当于 mock=fail:return+null ...
2018-09-10 21:38:08
905
原创 Dubbo服务降级
服务降级分布式系统中 提高系统高可用的方式之一当服务器压力剧增的情况下 根据,实际业务情况及流量 对一些服务和页面有策略的不处理,或者换种简单的方式处理 从而,释放服务器资源以保证核心交易正常运作或高效运作参考文档 http://dubbo.apache.org/zh-cn/docs/user/demos/service-downgrade.htmlRegistryF...
2018-09-10 21:36:45
461
原创 Spring boot删除员工
删除员工Restful风格,删除发送delete请求同样,form表单无法发送delete请求 采用,input标签value,指定请求方式用户列表页面<form id="deleteEmpForm" method="post"> <input type="hidden" name="_method" value="delete"/&am
2018-09-09 10:24:54
1376
原创 Spring boot修改员工
修改员工点击修改按钮,根据用户id 查询用户信息,查询所有的部门列表信息回显到修改页面 点击确认,提交用户信息用户列表页面<main role="main" class="col-md-9 ml-sm-auto col-lg-10 pt-3 px-4"> <h2><a class="btn btn-sm btn-success" href=...
2018-09-09 10:22:40
1379
1
原创 Spring boot的put请求
Put请求Restful风格,修改发送put请求 修改时,页面发送put请求Form表单页面 只支持get、post方式实现方式1、SpringMVC中配置HiddenHttpMethodFilter SpringBoot自动配置好的 2、页面创建一个post表单 3、创建一个input项,name=”_method” Value,值就是指定的请求方式WebMv...
2018-09-09 10:18:52
9836
5
原创 Thymeleaf设置属性值
th:attr设置属性值 参考文档 设置单个属性值<form action="subscribe.html" th:attr="action=@{/subscribe}"> <fieldset> <input type="text" name="email" /> <in
2018-09-09 10:16:06
3718
原创 Dubbo负载均衡原理
LoadBalance搜索,Ctrl+Shift+T Dubbo接口 点击,进入NAME 可以看到,默认配置,随机调用 负载均衡机制 选中,AbstractLoadBalance 打开继承树,Ctrl+T可以看到,提供了四种负载均衡机制 包括负载均衡算法,也在每一种机制中 ...
2018-09-09 10:14:20
4622
1
原创 Dubbo负载均衡配置
负载均衡默认随机调用,random 可以配置负载均衡机制参考文档 http://dubbo.apache.org/zh-cn/docs/user/demos/loadbalance.html配置方式可以在服务级别配置 也可以在方法级别配置服务级别服务端服务级别<dubbo:service interface="..." loadbalance="...
2018-09-09 10:13:00
4976
2
原创 Dubbo负载均衡机制
负载均衡参考文档 http://dubbo.apache.org/zh-cn/docs/user/demos/loadbalance.html 负载均衡机制Dubbo提供了四种负载均衡机制 默认为,random随机调用Random LoadBalance每次请求,根据权重随机发送 随机,按权重设置随机概率 在一个截面上碰撞的概率高,但调用量越大分布越均匀...
2018-09-09 10:11:38
1006
原创 Dubbo权重配置
权重配置可以直接在服务提供者,配置权重 也可以在管控台,配置权重服务器提供者在暴露服务的时候,配置权重 缺点,这样写权重就固定了实际,都是动态的调整权重@Service(weight=50)//暴露服务 @Componentpublic class UserServiceImpl implements UserService { @HystrixComma...
2018-09-09 10:07:36
6665
原创 Dubbo注册中心宕机
注册中心宕机高可用 通过设计,减少系统不能提供服务的时间zookeeper注册中心宕机 还可以消费dubbo暴露的服务健壮性监控中心宕掉 不影响使用,只是丢失部分采样数据数据库宕掉 注册中心,仍能通过缓存提供服务列表查询,但不能注册新服务注册中心 对等集群,任意一台宕掉,将自动切换到另一台注册中心 全部宕掉后,服务提供者和服务消费者,仍能通过本地缓存通讯...
2018-09-09 10:05:47
2139
原创 Dubbo直连
直连直接调用 绕过注册中心,消费者直接调用服务者消费者 直接配置服务提供者地址,可以绕过注册中心 直接调用服务提供者@Servicepublic class OrderServiceImpl implements OrderService { //@Autowired @Reference(url="127.0.0.1:20882") //dubbo直连 ...
2018-09-09 10:02:35
786
原创 Spring boot配置Dubbo三种方式
方式一使用注解的方式导入dubbo-starter 在application.properties配置属性使用@Service暴露服务 使用@Reference引用服务使用@EnableDubbo开启注解Dubbo功能 或者配置包扫描dubbo.scan.base-packages=com.atguigu.gmall开启注解、包扫描,配置一个即可这种方式 可...
2018-09-08 10:23:50
30463
原创 Dubbo本地存根
本地存根参考文档 http://dubbo.apache.org/zh-cn/docs/user/demos/local-stub.html 本地存根 可以提前验证参数 调用失败之后,伪造容错数据等消费方写一个本地存根Stub的实现 必须,提供一个有参构造器有参构造器,传入的是远程接口的代理实现 不需要去传这个参数,Dubbo默认自动传递进来可以添加判断 ...
2018-09-08 10:19:21
1963
原创 Dubbo多版本
多版本参考文档 http://dubbo.apache.org/zh-cn/docs/user/demos/multi-versions.html 版本升级、灰度发布 当某一个接口,出现了不兼容的升级 可以用版本号过渡,版本号不同的服务,相互间不引用版本迁移1、在低压力时间段,先升级一半提供者为新版本 2、再将,所有消费者升级为新版本 3、然后,将剩下的一半提供者...
2018-09-08 10:17:01
2022
原创 Spring boot格式化器
格式化器WebMvcAutoConfiguration 自动配置dateFormatter 格式化器,格式化日期 getDateFormat 默认日期格式,采用斜线的方式 可以通过配置文件 修改为短横线的方式spring.mvc.date-format=yyyy-MM-dd...
2018-09-08 10:13:28
678
原创 Spring boot表单提交日期格式
日期格式器SpringMVC将页面提交的值 转换为指定的类型 完成类型转换,格式化默认,采用的斜线的方式 2017/12/12当提交用户的生日信息 使用短横线、点或者其他格式,都会报错 2017-12-12、2017.12.12可以通过配置文件 修改默认的日期格式spring.mvc.date-format=yyyy-MM-dd注意将默认方式 ...
2018-09-08 10:11:56
2707
原创 Spring boot转发请求
转发请求Forward 表示转发到一个地址ThymeleafViewResolver Spring MVC的视图解析器 作用,根据视图名,得到视图对象createView 创建视图对象 viewName,方法的返回值 得到视图名 进行一些判断如果,startsWith,以forward开始 会创建一个InternalResourceView对象Intern...
2018-09-08 10:10:12
27713
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人