SpringBoot
The_theme
这个作者很懒,什么都没留下…
展开
-
Sentinel面板
代码】Sentinel面板。原创 2022-07-17 19:35:01 · 109 阅读 · 0 评论 -
Nacos Config
optional启用时的示例。原创 2022-07-16 18:12:50 · 1080 阅读 · 0 评论 -
Spring Cloud Gateway
其中id为自命名,保证唯一,uri格式有三种,第一种是http//hostport的形式,第二种为ws//hostport的形式,第三种则以注册服务器上的名字为准,格式为lb//name,predicates下的Path是正则表达式,如果url符合正则,则将请求发送到uri服务器,如果要写多个要用英文逗号隔开(高版本格式)3.局部过滤器,要实现的接口有GatewayFilter和Order,规则见全局过滤器。因为是局部过滤器,所以要有指定设置,参考代码如下。...原创 2022-07-15 22:41:17 · 282 阅读 · 0 评论 -
Feign服务调用
新建一个接口类添加注解其中value是将要调用的服务名然后写方法,在方法名上写注解表示访问路径完整代码:原创 2022-07-14 15:47:59 · 534 阅读 · 0 评论 -
Consul使用步骤
consul使用原创 2022-07-02 23:51:32 · 300 阅读 · 0 评论 -
个人笔记-SpringMVC-异常处理-异常处理解决方案
项目异常处理方案异常分类业务异常:规范的用户行为产生的异常不规范的用户行为操作产生的异常系统异常:项目运行过程中可预计且无法避免的异常其他异常:编程人员未预料到的异常项目异常处理方案异常处理方案业务异常发送对应消息传递给用户,提醒规范操作系统异常:发送固定消息传递给用户,安抚用户发送特定消息给运维人员,提醒维护记录日志其他异常发送固定消息传递给用户,安抚用户发送特定消息给编程人员,提醒维护纳入预期范围内记录日志原创 2021-11-04 20:32:19 · 87 阅读 · 0 评论 -
个人笔记-SpringMVC-异常处理-注解开发异常处理器
异常处理使用注解实现异常分类管理名称:@ControllerAdvice类型:类注解位置:异常处理器类上方作用:设置当前类为异常处理器类范例:@Component@ControllerAdvicepublic class ExceptionAdvice{}原创 2021-11-04 19:08:52 · 192 阅读 · 0 评论 -
个人笔记-SpringMVC-异常处理-异常处理器
异常处理注解实现异常处理项目异常处理方案通用异常处理方案程序异常现象@RequestMapping("/save")@ResponseBodypublic List<User> save(@RequestBody User user){ ... //模拟调用业务层接口,抛出异常 int i = 1/0; ...}...原创 2021-11-04 14:46:41 · 97 阅读 · 0 评论 -
个人笔记-SpringMVC-拦截器-多拦截器配置
拦截器链配置当配置多个拦截器时,形成拦截器链拦截器链的运行顺序参照配置的先后顺序当拦截器中出现对原始处理器的拦截,后面的拦截器均终止运行当拦截器运行中断,仅运行配置在前面的拦截器的afterCompletion操作责任链模式责任链模式是一种行为模式特征:沿着一条预先设定的任务链顺序执行,每个节点具有独立的工作任务优势:独立性:只关注当前节点的任务,对其他任务直接放行到下一节点隔离性:具备链式传递特征,无需知晓整体链路结构,只需等待请求到达后进行处理即可灵活性:可以任意原创 2021-11-02 23:45:02 · 285 阅读 · 0 评论 -
个人笔记-SpringMVC-拦截器-拦截器配置与方法参数
拦截器参数原创 2021-11-02 22:29:10 · 367 阅读 · 0 评论 -
个人笔记-SpringMVC-拦截器-自定义拦截器开发过程
拦截器开发制作拦截器功能类(通知)配置拦截器的执行位置(切入点)拦截器开发入门实现HandlerInterceptor接口配置拦截器配置执行位置配置拦截器执行类注意:配置顺序为先配置执行位置,后配置执行类...原创 2021-10-27 12:58:02 · 81 阅读 · 0 评论 -
个人笔记-SpringMVC-拦截器-拦截器简介
拦截器拦截器概念自定义拦截器拦截器工作流程分析责任链模式拦截器请求处理过程解析拦截器简介拦截器(Interceptor)是一种动态拦截方法调用的机制作用:在指定的方法调用前后执行预先设定后的代码阻止原始方法的执行核心原理:AOP思想拦截器链:多个拦截器按照一定的顺序,对原始被调用功能进行增强拦截器vs过滤器归属不同:Filter属于Servlet技术,Interceptor属于SpringMVC技术拦截内容不同:Filter对所有访问增强,Interce原创 2021-10-25 23:00:50 · 123 阅读 · 0 评论 -
个人笔记-SpringMVC-异步调用-跨域访问
跨域环境搭建为当前主机添加备用域名修改windows安装目录中的host文件格式:ip 域名动态刷新DNS命令:ipconfig /displaydns命令:ipconfig /flushdns跨域访问支持名称:@CrossOrigin类型:方法注解、类注解位置:处理器类中的方法上方 或者 类上方作用:设置当前处理器方法/处理器类中所有方法支持跨域访问范例:@RequestMapping("/cross")@ResponseBody@CrossOrigin原创 2021-10-24 22:59:31 · 1255 阅读 · 0 评论 -
个人笔记-SpringMVC-异步调用-异步请求接收相应数据
异步请求响应(回顾)$("#testAjaxReturnString").click(function (){ //发送异步请求 $.ajax({ type:"POST", url:"ajaxReturnString", success:function (data){ alert(data); } });});异步请求响应(复习)名称:@ResponseBody类型:方法注解、返原创 2021-10-24 22:22:33 · 244 阅读 · 0 评论 -
个人笔记-SpringMVC-异步调用-接收异步请求参数
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-10-24 21:08:49 · 1224 阅读 · 0 评论 -
spring.xml和web.xml经典格式与spring.xml中beans标签奇妙的报错
spring-mvc.xml<?xml version="1.0" encoding="utf-8" ?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"原创 2021-10-23 14:23:04 · 677 阅读 · 0 评论 -
个人笔记-SpringMVC-Servlet相关接口
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-10-23 14:18:28 · 137 阅读 · 0 评论 -
个人笔记-SpringMVC响应,返回JSON数据
返回数据方式一:使用response对象完成数据返回@RequestMapping("/showData1")public void showData1(HttpServletResponse httpServletResponse) throws IOException { httpServletResponse.getWriter().println("message");}方式二:(简化格式)@RequestMapping("/showData2")@ResponseB原创 2021-10-17 23:05:07 · 220 阅读 · 0 评论 -
个人笔记-SpringMVC响应,携带数据页面跳转
携带数据页面跳转设定方式一:使用HttpServletRequest类型形参进行数据传递@RequestMapping("/showPageAndData1")public String showPageAndData1(HttpServletRequest request){ request.setAttribute("name","thenema"); return "page.jsp";}方式二:使用Model类型形参进行数据传递@RequestMapping(原创 2021-10-16 23:59:52 · 752 阅读 · 0 评论 -
个人笔记-SpringMVC响应,页面跳转
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-10-16 23:21:52 · 178 阅读 · 0 评论 -
个人笔记-SpringMVC请求,请求映射
请求映射名称:@RequestMapping类型:方法注解位置:处理器类中的方法定义上方作用:绑定请求地址与对应处理方法间的关系范例:@RequestMapping("/requestURL1")public String requestURL1(){ return "page.jsp";}访问路径:/requestURL1...原创 2021-10-14 23:04:59 · 75 阅读 · 0 评论 -
个人笔记-SpringMVC请求,自定义类型转换器
自定义类型转换器自定义类型转换器,实现Converter接口,并制定转换前与转换后的类型public class MyDateConverter implements Converter<String, Date>{ public Date convert(String source){ DateFormat df = new SimpleDateFormat("yyyy-MM-dd"); Date date = null; try原创 2021-10-13 23:18:09 · 66 阅读 · 0 评论 -
个人笔记-SpringMVC请求,类型转换器
类型转换器SpringMVC对接收的数据进行自动类型转换,该工作通过Converter接口实现标量转换器默认转换器类型转换器SpringMVC对接收的数据进行自动类型转换,该工作通过Converter接口实现访问URL:http://localhost/requestParam11?date=2021/10/12声明自定义的转换格式并覆盖系统转换格式<mvc:annotation-driven conversion-service="conversionService"/&g原创 2021-10-12 20:16:52 · 105 阅读 · 0 评论 -
个人笔记-SpringMVC请求,数组类型参数传参
数组类型参数请求参数名与处理器方法形参名保持一致,且请求参数数量大于1个访问URL:http://localhost/requestParam9?nick=thenema&nick=th@RequestMapping("/requestParam9")public String requestParam9(String[] nick){ System.out.println(nick[0]+","+nick[1]); return "page.jsp";}集合类型原创 2021-10-12 19:51:15 · 323 阅读 · 0 评论 -
个人笔记-SpringMVC请求,POJO类型参数传参
POJO类型参数public class User{ private String name; private Integer age;}@RequestMapping("/requestParam3")public String requestParam3(User user){ System.out.println("name="+user.getName()); return "page.jsp";}参数冲突当POJO类型属性与其他形参出现同名问题时,将被同时原创 2021-10-12 19:16:12 · 466 阅读 · 0 评论 -
个人笔记-SpringMVC请求,普通类型参数传参
请求请求参数SpringMVC将传递的参数封装到处理器方法的形参中,达到快速访问参数的目的访问URL:http://localhost/requestParam?name=thenema@RequestMapping("/requestParam")public String requestParam(String name){ System.out.println("name="+name); return "page.jsp";}新建page.jsp,内容如下UserCo原创 2021-10-12 18:07:11 · 199 阅读 · 0 评论 -
个人笔记-SpringMVC技术架构图-基本配置-常规配置(Controller加载控制,静态资源加载控制,中文乱码处理)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-10-08 22:11:12 · 138 阅读 · 0 评论 -
个人笔记-SpringMVC技术架构图
DispatcherServlet:前端控制器,是整体流程控制的中心,由其调用其他组件处理用户的请求,有效降低了组件间的耦合性HandlerMapping:处理器映射器,负责根据用户请求找到对应具体的Handler处理器Handler:处理器,业务处理的核心类,通常由开发者编写,描述具体的业务HandlAdapter:处理器适配器,通过它对处理器进行执行View Resolver:视图解析器,将处理结果生成View视图View:视图,最终产出结果,常用视图如jsp、html...原创 2021-10-08 18:51:31 · 235 阅读 · 0 评论 -
个人笔记-SpringMVC-SpringMVC入门案例制作
入门案例制作XML版XML+注解版(主体)纯注解版(变形)新建项目pom文件web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java原创 2021-09-28 22:01:27 · 108 阅读 · 0 评论 -
个人笔记-SpringMVC-SpringMVC概述
三层架构表现层:负责数据展示业务层:负责业务处理数据层:负责数据操作MVCMVC(Model View Controller),一种用于设计创建Web应用程序表现层的模式Model(模型):数据模型,用于封装数据View(视图):页面视图,用于展示数据jsphtmlController(控制器):处理用户交互的调度器,用于根据用户需求处理程序逻辑ServletSpringMVCSpringMVC简介SpringMVC是一种基于Java实现MVC模型的原创 2021-09-28 18:56:10 · 74 阅读 · 0 评论 -
事务管理(事务控制方式)
事务控制方式编程式声明式(XML)声明式(注解)案例介绍银行转账业务说明银行转账操作中,涉及到从A账户到B账户的资金转移操作。数据层仅提供单条数据的基础操作,未涉及多账户间的业务操作。...原创 2021-09-25 18:13:05 · 815 阅读 · 1 评论 -
事务(事务回顾-事务管理-模板对象-事务底层原理解析)
事务回顾事务指数据库中多个操作合并在一起形成的操作序列事务的作用(ACID)当数据库操作序列中个别操作失败时,提供一种方式使数据库状态恢复到正常状态(A),保障数据库即使在异常状态下仍能保持数据一致性(C)(要么操作前状态,要么操作后状态)。当出现并发访问数据库时,在多个访问间进行相互隔离,防止并发访问操作结果相互干扰(I)。事务特征:原子性(Atomicity)指事务是一个不可分割的整体,其中的操作要么全执行或全不执行一致性(Consistency)事务前后数据的完整性必须保持一致原创 2021-09-21 11:35:42 · 88 阅读 · 0 评论 -
AOP底层原理(织入时机)
织入时机编译期织入类加载器织入运行期织入原创 2021-09-20 10:45:57 · 134 阅读 · 0 评论 -
AOP底层原理(动态代理---CGLIB)
动态代理—CGLIBCGLIB(Code Generation Library),Code生成类库CGLIB动态代理不限定是否具有接口,可以对任意操作进行增强CGLIB动态代理无需要原始被代理对象,动态创建出新的代理对象新建两个文件内容如下运行可见结果成功运行代理模式的选择Spring可以通过配置的形式控制使用的代理形式,默认使用jdkproxy,通过配置可以修改为使用cglibXML配置<aop:config proxy-target-class="false"原创 2021-09-20 00:16:12 · 124 阅读 · 0 评论 -
AOP底层原理(动态代理---JDK Proxy)
动态代理—JDK ProxyJDKProxy动态代理是针对对象做代理,要求原始对象具有接口实现,并对接口方法进行增强原创 2021-09-19 21:43:28 · 137 阅读 · 0 评论 -
AOP底层原理(静态代理)
静态代理装饰者模式(Decorator Pattern):在不惊动原始设计的基础上,为其添加功能新建如图所示五个文件,内容如下运行可见我们没有修改源文件的情况下成功新添了功能原创 2021-09-19 17:00:50 · 81 阅读 · 0 评论 -
综合案例(AOP)
案例介绍对项目进行业务层接口执行监控,测量业务层接口的执行效率案例分析测量接口执行效率:接口方法执行前后获取执行时间,求出执行时长System.currentTimeMilis()对项目进行监控:项目中所有接口方法,AOP思想,执行期动态织入代码环绕通知proceed()方法执行前后获取系统时间案例制作步骤定义切入点(务必要绑定到接口上,而不是接口实现类上)制作AOP环绕通知,完成测量功能注解配置AOP开启注解驱动支持...原创 2021-09-19 16:44:01 · 110 阅读 · 0 评论 -
AOP配置(注解)
注解开发AOP制作步骤在XML格式基础上导入坐标(伴随spring-context坐标导入已经依赖导入完成)开启AOP注解支持配置切面@Aspect定义专用的切入点方法,并配置切入点@Pointcut为通知方法配置通知类型及对应切入点@Before在applicationContext.xml里添加标签,开启aop注解支持在AOPAdvice里添加注解运行程序可见正常运行修改AOPAdvice内容运行可见结果如果在AOPAdvice里添加@Component原创 2021-09-19 12:46:52 · 1286 阅读 · 0 评论 -
AOP配置(XML)
AspectJAspectJ(切面)用于描述切入点与通知间的关系,是AOP编程中的一个概念AspectJ是基于java语言对Aspect的实现AOP配置名称:aop:config类型:标签归属:beans标签作用:设置AOP格式:<beans> <aop:config>....</aop:config> <aop:config>....</aop:config></beans>说明:一个bea原创 2021-09-18 22:58:08 · 145 阅读 · 0 评论 -
AOP入门案例
AOP相关概念Joinpoint(连接点):就是方法Pointcut(切入点):就是挖掉共性功能的方法Advice(通知):就是共性功能,最终以一个方法的形式呈现Aspect(切面):就是共性功能与挖的位置的对应关系Target(目标对象):就是挖掉功能的方法对应的类产生的对象,这种对象是无法直接完成最终工作的Weaving(织入):就是将挖掉的功能回填的动态过程Proxy(代理):目标对象无法直接完成工作,需要对其进行功能回填,通过创建原始对象的代理对象实现Introduction(引入原创 2021-09-15 22:17:01 · 322 阅读 · 0 评论