Spring系列
文章平均质量分 92
spring
柏油
不负冬日春晓 不负青春韶华
展开
-
Apollo 热更新配置
简单来说,Apollo 是一个配置中心,可以非常方便管理公司所有项目配置,并支持热更新。本文主要讲解 Apollo 在 Spring 环境下的热更新操作。原创 2023-06-15 17:55:29 · 3680 阅读 · 0 评论 -
服务端实时推送技术之SSE(Server-Send Events)
服务端推送,也称为消息推送或通知推送,是一种允许应用服务器主动将信息发送到客户端的能力,为客户端提供了实时的信息更新和通知,增强了用户体验。原创 2023-04-28 09:12:32 · 16361 阅读 · 3 评论 -
Jackson 序列化:Cannot deserialize value of type `java.time.LocalDateTime`
Caused by: com.fasterxml.jackson.databind.exc.InvalidFormatException: Cannot deserialize value of type `java.time.LocalDateTime` from String "2023-02-13 19:43:01": Failed to deserialize java.time.LocalDateTime:原创 2023-02-18 11:07:53 · 3507 阅读 · 1 评论 -
okhttp 应用之 Interceptors 拦截器,「实践 + 原理」一样都不少
okhttp 是什么?一款封装 HTTP 协议的 HTTP 客户端。拦截器是 okhttp 提供的一个强有力的工具,我们可以在请求前后做监控、请求/响应进行重写、失败重试等操作。原创 2022-10-05 09:22:26 · 2295 阅读 · 1 评论 -
Feign 应用之 RequestInterceptor 拦截器,超实用指南
思考一下,你目前正在使用微服务体系,一个普通的用户请求可能会在微服务之间多次调用,而途径的每个微服务都需要原始请求的部分参数,你会如何传递这些参数?在之前的文章中,我们了解到,Feign 的本质就是 JAVA 易用版的 HTTP 上层封装,本质还是 `HTTP` 调用想要原始请求参数在微服务之间流转,本质就是在调用下游服务的 HTTP 请求头上添加这些参原创 2022-09-26 12:15:00 · 18247 阅读 · 6 评论 -
Feign-Hystrix 熔断降级,一文看透本质
最近这些年,微服务盛行。服务拆分越来越细、越来越多。为方便微服务之间的调用,各种 RPC 框架层出不穷,目的就是让开发者像调用本地方法一样调用微服务。微服务之间交流的核心是网络请求,这个过程涉及到应用层和网络层: - 网络层:最常用的是 TCP / UDP 协议 - 应用层:本质上说,应用层协议是负责对数据编码、解码的约定,比如我们常见的 HTTP、Websocket 协议等。一般情况下,我们想要实现网络通信,有两种选择:- 使用现成应用层协议:比如 http 等- 基于网络层(TCP/UD原创 2022-08-30 08:00:00 · 2306 阅读 · 0 评论 -
注意:spring事物与分布式锁同时使用问题
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、pandas是什么?示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。二、使用步骤1.引入库代码原创 2021-06-20 14:26:04 · 1385 阅读 · 11 评论 -
Spring容器之refresh方法源码分析
BeanFactory作为IOC容器的核心接口,ApplicationContext接口包含了BeanFactory的所用功能来看看两者关系:既然是继承关系,那么ApplicationContext包含了BeanFactory的所用功能也就不足为奇了ApplicationContext作为Spring上下文的关键接口,除了BeanFactory的功能,还包括各种环境、参数、BeanFactoryPostProcessors后处理器、事件以及单例bean的初始化等一系列操作,其中以refresh方法为s原创 2020-07-30 22:36:25 · 1657 阅读 · 0 评论 -
Spring依赖处理过程源码分析
从上次分析@Autowired和@Resource注解源码分析中预留了一个问题,其在第一阶段已经将注解信息封装在了InjectionMetadata数据中,在第二阶段将根据InjectionMetadata数据进行一系列的依赖注入,今天就接着开始从这里分析吧~上篇文章对@Autowired和@Resource的源码分析先来看看一个小例子 public class AnnotationDependencyInjectionResolutionDemo { @Autowired原创 2020-07-29 08:54:39 · 176 阅读 · 0 评论 -
Spring @Autowird注解和@Resouce注解源码分析
从使用上来看@Autowird和@Resource注解的区别两个注解都可用于属性或者方法上的注入;@Autowired是默认按照类型装配, @Resource默认是按照名称装配从提供来源看:@Autowired是由Spring提供@Resource是有java提供,在包javax.annotation下从spring处理源看:@Autowired是由AutowiredAnnotationBeanPostProcessor后处理器进行处理@Resource是由CommonAnnotat原创 2020-07-28 09:04:31 · 512 阅读 · 0 评论 -
Spring bean的加载过程源码分析
spring-beans模块囊括了DI、IOC等经典实现;Bean密切相关的接口BeanFactory,与IOC容器、依赖注入、依赖查找等 有着千丝万缕的关系~其中默认实现类DefaultListableBeanFactory覆盖了这些功能,也可以通俗的理解DefaultListableBeanFactory实例就是一个IOC容器,bean的生命周期都围绕着它来完成 public class DefaultListableBeanFactory extends AbstractAuto.原创 2020-07-27 00:38:24 · 870 阅读 · 2 评论 -
Spring--最小化XML配置
一、通过annotation自动装配:Spring3.0支持几种不同的用于自动装配的注解:a、Spring自带的@Autowired注解b、JSP-330的@Inject注解c、JSP-250的@Resource注解一)@Autowired注解:(byType自动装配)a、可以装配属性、方法(需要bean引用的任意方法)b、如果没有找到合适的bean自动装配,就会抛出异原创 2017-10-06 08:51:33 · 240 阅读 · 0 评论 -
Spring--(模拟HiberanteTemplate、HibernateCallBack实现)
Spring框架提供了HibernateTemplate模版以简化编程,模版封装了事务之前(包括获取session、开启事务等等操作)以及事务之后(包括关闭事务、异常捕获及处理等操作),我们用的时候只需写需要的逻辑代码。MyHibernateCallBack.java:package com.dw.template;import org.hibernate.Session;publ原创 2017-09-16 09:44:28 · 221 阅读 · 0 评论 -
Spring--hibernate整合_事务管理
当要求多个事务要么同时完成,要么同时无法完成时,就涉及到了事务的处理.Spring提供了声明式事务管理,其原理是通过AOP来完成的。 tx就是事务管理并引入相应的命名空间。xml配置:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2原创 2017-09-15 16:38:02 · 240 阅读 · 0 评论 -
Spring--DataSource配置数据源
xml中配置: 需要用spring 的Ioc方式将数据源的实例bean注入到spring 容器,然后连接数据库,并数据库中插入数据:package com.dw.car.impl;import java.sql.Connection;import java.sql.SQLException;import j原创 2017-09-14 09:14:28 · 568 阅读 · 0 评论 -
Spring--Aop_xml
bean.xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.sp原创 2017-09-13 20:05:33 · 167 阅读 · 0 评论 -
Spring--自动装配
一、autoWire:四种类型:byName、byTpye、default、constructor、no 在中设置 二、注解式1)@Autowired:可以在field或者method上注解,默认是按类型匹配注入要使该注解有效,需要在xml配置文件中配置: 2)@Resourc原创 2017-09-07 22:23:59 · 301 阅读 · 0 评论 -
Spring--Collection装配
beans.xml:<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans原创 2017-09-07 08:58:34 · 514 阅读 · 0 评论 -
Spring--IoC_值注入
一:Spring IoC设值注入:指通过setter方法传入被调用者的实例。这种注入方式简单、直观,因而在Spring的依赖注入里大量使用。其xml配置文件:applicationContext.xml:<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.or原创 2017-09-06 20:03:41 · 283 阅读 · 0 评论 -
SprinMVC 视图解析器
一、HTML视图解析器:二、jsp视图解析器:springmvc-servlet.xml配置: 三、tiles视图解析器:很多时候有一些通用的元素被页面所共享,所以可以通过tiles布局管理器来实现共享。1、在springmvc-servlet.xml将TilesViewResolver注册为一个 2、TilesConfi原创 2017-10-13 11:09:55 · 613 阅读 · 0 评论 -
SpringMVC 国际化-中英文切换
国际化是为了实现不同地区页面呈现不同的语言问题;编写程序实现国际化,在xml文件中做响应的配置,然后编写.properties文件即可。实现登录界面的中英文切换:xml文件配置:原创 2017-10-19 22:02:44 · 7637 阅读 · 0 评论 -
SpringMVC 拦截器
拦截器可以实现在请求方法处理之前、后或者过程中完成一些业务逻辑:在SpringMVC中要定义拦截器类需要实现一些接口或者继承。接口HanderInterceptor拦截器接口提供了三个方法;也可以继承其实现类HanderInterceptorAdaptor,该类并未对实现方法做任何处理。定义拦截器类:package com.dw.interceptor;import javax.s原创 2017-10-19 13:10:39 · 232 阅读 · 0 评论 -
SpringMVC 验证码
实现效果:jsp页面: 登陆页面 <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>原创 2017-10-18 19:18:27 · 526 阅读 · 0 评论 -
SpringMVC 国际化信息校验
springmvc-servlet.xml: <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">原创 2017-10-17 19:29:29 · 1564 阅读 · 0 评论 -
SpringMVC 传参、重定向、文件上传
package com.dw.controller;import java.io.UnsupportedEncodingException;import javax.annotation.Resource;import javax.servlet.ServletRequest;import javax.servlet.http.HttpServletRequest;import ja原创 2017-10-08 14:05:50 · 524 阅读 · 0 评论 -
SpringMVC 处理表单
基于tiles布局实现:一、展现表单:当展现表单的时候需要将一个实体对象绑定到表单域上(也就是不用在表单中使用name取名)在controller中定义方法:类名之上映射:@RequestMapping("/login") @RequestMapping(method=RequestMethod.GET,params="new") public String原创 2017-10-14 15:58:15 · 361 阅读 · 0 评论 -
SpringMVC @RequestHeader、@CookieValue、@ModelAttribute
通过@RequestHeader取得入参请求头中的信息: @RequestMapping("/checkRequestHeader") public String checkRequestHeader(@RequestHeader(value="Accept-Language") String requstHeader){ System.out.println("RequestHeade原创 2017-10-15 15:16:40 · 395 阅读 · 0 评论 -
SpringMVC 通过RESTFUL风格进行CRUD
jsp页面: controller页面:@Controller@RequestMapping("/login")//@SessionAttributes(value="username",types=String.class)public class LoginController { @Reques原创 2017-10-16 14:59:55 · 392 阅读 · 0 评论 -
SpringMVC 三种访问静态资源的方式
如果你的servlet拦截映射是*.do这类型的话久不存在无法访问静态资源的问题了,如果映射为/,则需要来处理后才能访问:一:配置:SpringMVC上下文中定义了一个DefaultServletHttpRequestHandler,它会对DispatchServlet的请求进行筛查,没有通过映射的请求交给web服务器的默认servlet处理,如果不是静态文件,才交给DispatchSer原创 2017-10-16 16:29:44 · 341 阅读 · 0 评论 -
SpringMVC 处理JSON
在方法上添加注解@ResponseBody,来处理返回类型。使用@RequestMapping通常返回的是跳转路径,添加@ResponseBody后不会被解析成跳转路径,而是直接写入http responseBody,返回json数据。一、处理对象:@Controller@RequestMapping("/json")public class JsonController { @原创 2017-10-17 10:26:32 · 249 阅读 · 0 评论 -
springMVC 三种国际化配置方式及No message found under code 'language.cn' for locale 'zh_CN'.异常
先说说异常的原因!!!着实令人头痛!不论是.xml配置文件还是.properties配置文件都检查了几次,而且都没有问题。偶然间在资料上注意到三种国际化配置,其请求都经过中央调度器DispatcherServlet,经url映射到controller处理后,将view返回给用户,视图中才能正确反映!! 问题就出在了这里,我直接访问静态资源!!!导致资源文件没有加载、也不经过拦截器。jsp页面使用m...原创 2018-03-09 15:55:20 · 10004 阅读 · 0 评论 -
SSM 框架搭建
1、web.xml:<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.原创 2018-03-04 21:37:50 · 209 阅读 · 0 评论 -
Spring切面编程-使用AspectJ日志处理
1、背景:AspectJ作为AOP一大应用已经广为人知了,具体的应用场景也很多,如:日志处理、执行目标方法前做逻辑判断、事物控制等等;其实质大都是抽取出各类、方法中重复的、与业务逻辑无关的代码,形成一个切面(Aspect, 也就是一个类),在切面中定义切点(可以理解为将代码织入到那些 我从方法中提取出重复代码的位置处,一个切点可能包含多个连接点)、连接点(也就是切点的一个具体)、通知等,这个一来就...原创 2018-10-21 17:19:50 · 589 阅读 · 0 评论 -
SpringMVC基本配置
web.xml: SpringMVC01 dispatcher org.springframework.web.servlet.DispatcherServlet contextConfigLocation classpath:springmvc-servlet.xml 1 dispatcher原创 2017-10-07 15:34:17 · 199 阅读 · 0 评论