Spring
文章平均质量分 75
莫特@
微风拂静叶 缘起何方
展开
-
Spring自定义配置提示
第一步:添加提示的元数据在自定义包中添加文件additional-spring-configuration-metadata.json(resources/META-INF下)数据格式如下(主要关注properties,其他暂时不清楚具体作用){ "groups": [ { "name": "mote", "type": "org.springfra...原创 2020-02-24 14:18:32 · 276 阅读 · 0 评论 -
spring中json转换配置
springboot 针对jackson是自动化配置的,如果需要修改,有两种方式:方式一:通过application.yml配置属性说明:spring.jackson.date-format指定日期格式,比如yyyy-MM-dd HH:mm:ss,或者具体的格式化类的全限定名spring.jackson.deserialization是否开启Jackson的反序列化spring...原创 2019-12-27 11:35:04 · 623 阅读 · 0 评论 -
SpringMVC--RequestContextListener
简介使用SpringMVC作为web应用的框架是一般都会涉及Request,Session等,RequestContextListener就是为此定义的。详解首先分清web容器和Spring容器的区别,这是两个东西,Web容器表示装载,执行和处理web应用的容器,比如Tomcat,Jetty等,而Spring容器则是BeanFactory,applicationContext,WebA原创 2017-10-04 00:07:43 · 874 阅读 · 0 评论 -
Spring注解@ResponseBody中文乱码
简述普通java项目(非SpringBoot,maven等)在使用SpringMVC时使用@ResponseBody注解产生的字符串输出到前段出现中文乱码。解决方案一:Spring配置文件中配置 text/plain;charset=UTF-8 备注:网上提供的方法比较多,但试过后都无功而原创 2017-11-27 14:14:47 · 380 阅读 · 0 评论 -
Spring全局获取Bean实例对象
在使用maven做接口的时候发现一个问题,maven不能出现循环依赖,否则编译报错,那么如果业务逻辑中不得不循环依赖时怎么办呢?Spring在服务启动的时候会自动加载bean实例,而且用容器管理,虽然一个项目可能依赖于其他父项目 或者 子项目,但是最终都会被编译成同一个项目,那么bean最终也就是在同一个容器中管理,此时可以借助于容器,绕过maven的循环依赖,直接从容器中获取响应的bean实原创 2018-01-26 21:33:34 · 2108 阅读 · 0 评论 -
使用Spring的Bean生命周期特性释放Redis连接池案例
简介写这篇文章的初衷源于前几天公司的Redis连接池溢出事件,后来是借助SpringBean的生命周期特征解决了连接池溢出问题。基础稍微好点的人应该知道,spring管理的bean,可以自定义初始化方法init,和bean销毁方法destroy,但是以前只是知道有这些特性,工作中从来没有用过,因此比较陌生。事件还原连续两天,公司redis连接池溢出,好多项目各种报错,群上开始讨论red...原创 2018-07-21 22:18:41 · 1771 阅读 · 0 评论 -
Spring切点定义集锦
简介学习spring比较久了,但切点表达式一直记不住,今天特意整理,供参考!Spring 切点定义方式 类别 函数 入参 说明 方法切点函数 execution() 方法 匹配模式串 表示满足某一匹配模式的所有目标类方法连...原创 2018-09-12 11:13:35 · 2136 阅读 · 0 评论 -
Spring 过滤器 拦截器 AOP区别
简介这几天在回顾Spring的AOP时,对过滤器,拦截器,AOP的关系有点好奇,故记录做以备份。在实现一些公共逻辑的时候,很多功能通过过滤器,拦截器,AOP都能实现,但是不同的方式有不同的效率。具体有什么区别,看下文描述。前后端交互基本逻辑过滤器过滤器拦截的是URLSpring中自定义过滤器(Filter)一般只有一个方法,返回值是void,当请求到达web容器时,会探测当...原创 2018-09-12 14:15:11 · 33179 阅读 · 12 评论 -
Spring 获取request和response
HttpServletRequest request = ((ServletRequestAttributes)RequestContextHolder.getRequestAttributes()).getRequest();HttpServletResponse response = ((ServletRequestAttributes)RequestContextHolder.ge...原创 2018-09-17 10:36:12 · 321 阅读 · 0 评论 -
maven打包的jar指定启动类
简述 项目开发中,很多情况下我们会打成jar启动,此时如果jar中出现多个含有main的类,启动一般会报错,此时可以通过在pom中指定启动类来解决这个问题。第一种: 如果你的POM是继承spring-boot-starter-parent的话,只需要在pom的root如下指定就行 <properties> <!-- ...原创 2018-10-20 17:14:53 · 9265 阅读 · 1 评论 -
Spring-cloud CommandLineRunner 接口
阅读目录前言 如何使用CommandLineRunner接口 用@Order注解去设置多个CommandLineRunner实现类的执行顺序 为什么要使用CommandLineRunner接口 原文文链前言Spring boot的CommandLineRunner接口主要用于实现在应用初始化后,去执行一段代码块逻辑,这段初始化代码在整个应用生命周期内只会执行一次。如何...转载 2019-05-21 11:01:04 · 331 阅读 · 0 评论 -
SpringMVC--ContextLoaderListener
简介虽然接触Spring框架时间挺久,但是里边的一些细节仍然了解的仍然不够深入,其中之一就是ContextLoaderListener,之前在网上差了一些资料始终没理解清楚,今天在一本书上偶遇,下来就简单总结看过书以后我对ContextLoaderListener的理解。前提首先明确一点,Spring并不是web应用的专属,只要是Java应用就可以借助Spring框架开发,甚至是桌面应原创 2017-10-03 19:34:37 · 288 阅读 · 0 评论 -
SpringMVC--BeanNameUrlHandlerMapping详解
简述SpringMVC框架中在定义URL与控制类之间的映射中有多种实现方式,比如org.springframework.web.servlet.handler.SimpleUrlHandlerMapping、org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping、org.springframework.web.se原创 2017-08-15 16:55:44 · 713 阅读 · 0 评论 -
context-param和init-param区别
简述不管是使用了什么技术的web应用都会有一个配置文件web.xml,这个文件中有很多可供配置的元素,其中context-param和init-param就是其中比较难以理解的元素。web.xml配置文件实例 dispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConfi原创 2017-08-15 07:58:19 · 434 阅读 · 0 评论 -
B/S交互中为何出现乱码个人浅析
首先,客户端在请求数据的时候并不知道服务器会以什么编码返回数据,所以请求头部会含有Accept-Encoding,Accept-Charset,Accept-language等信息,这个的目的就是告诉服务器自己可以接受的各种编码和MIME类型等,但是我用代理工具拦截请求数据时发现,请求头中很少有Accept-charset这个信息,也就是说,客户端并没有指定自己可以接受的编码类型,或者说客户端可以原创 2016-12-14 17:37:02 · 649 阅读 · 0 评论 -
Session应用深入解析
HttpSession常见问题1、session在何时被创建一个常见的误解是以为session在有客户端访问时就被创建,然而事实是直到某server端程序调用 HttpServletRequest.getSession(true)这样的语句时才被创建,注意如果JSP没有显示的使用 关闭session,则JSP文件在编译成Servlet时将会自动加上这样一条语句 HttpSession转载 2016-12-14 19:14:54 · 334 阅读 · 0 评论 -
Java动态代理生成方式
静态代理:由程序员创建或特定工具自动生成源代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。 动态代理:在程序运行时,运用反射机制动态创建而成。 在Java的java.lang.reflect包下提供一个Proxy类和一个InvocationHandler接口,通过使用这个类和接口可以生成jdk动态代理类或动态代理对象。转载 2016-12-01 14:40:17 · 627 阅读 · 0 评论 -
Accept-Charset,Accept-Encoding,pageEncoding,charset区别与联系
常见有关编码的设定方式:Accept-Charset,Accept-Encoding,pageEncoding,charsetAccept-Charset:是请求端在发送请求时的头部信息,这个标识的是当前客户端可以接受的字符编码(所谓字符编码就是对于可见或者不可见字符的编码方式,如utf-8,GBK等)。Accept_Encoding:也是请求端在发送请求的时候头部原创 2016-12-14 16:57:35 · 7664 阅读 · 0 评论 -
关联-依赖-聚合
面向对象设计中的关联,依赖,聚合关联一般涉及到数量,有一对一,一对多,多对多;关联一般是有方向的,如果加上方向,那么关联就还有多对一。比如顾客预订单之间就是一种一对多的关联关系,从面向对象的角度考虑顾客和订单都是对象,那么在设计对象的时候就要考虑关联关系和关联的方向,假如要设计成顾客到订单的一对多关联,那么此时在顾客对象类中就应该有订单这个属性,并且这个属性是一个集合;假如要设计成订单原创 2017-01-05 22:44:11 · 323 阅读 · 0 评论 -
同步-异步--阻塞-非阻塞
同步与异步牵扯到这两个概念的前提是两个线程会有某些微妙的联系并需要进行通信,不然牵扯不到同步与异步问题。同步场景:我要去上厕所,去了卫生间以后发现蹲位都被占了,并且此时还有两个人在排队等候,而我又必须上厕所,此时我就必须排队等待,这就是所谓的同步。特点是必须等待,等的时间不能干其他任何事情(排队的时候还是可以玩哈手机,抽根烟的,但是蹲位有没有空出来需要自己去判断)。异步场景:去了厕所还原创 2017-01-08 21:25:48 · 395 阅读 · 0 评论 -
Spring中BeanPostProcessor与InitializingBean接口的关系与应用
简介在Spring框架中,bean的定义,从编写到配置再到最终的getbean调用,框架都有相应的实现规则,具体如下所述。bean的定义 package com.spring.beans;import javax.ejb.Init;import org.springframework.beans.factory.InitializingBean;public clas...原创 2017-06-23 15:47:47 · 7556 阅读 · 5 评论 -
Spring事务详解
出自:参考的文章如下:Spring事务机制详解Spring事务配置的五种方式Spring中的事务管理实例详解1 初步理解理解事务之前,先讲一个你日常生活中最常干的事:取钱。 比如你去ATM机取1000块钱,大体有两个步骤:首先输入密码金额,银行卡扣掉1000元钱;然后ATM出1000元钱。这两个步骤必须是要么都执行要么都不执行。如果银行卡扣除了1000块但是ATM出转载 2016-11-03 18:29:46 · 269 阅读 · 0 评论 -
AOP中相关术语的理解
简介在学习Spring的AOP的时候需要理解连接点、切点、增强等概念,但是在网上或者书上看的解释感觉很模糊,下来谈谈我的理解。连接点与切点的理解网上是通过数据库表来类比这两者的关系,但是我个人觉得用这个来解释很好,但是网上解释的思维混乱,而且感觉有错误。我用自己的方式沿用网上的例子解释两者的关系(可能有误)。假设类A,A中有方法MA、MB、MC,Spring中的AOP是只有方法的连原创 2017-07-17 18:08:37 · 677 阅读 · 0 评论 -
Java代理模式(动态与静态)
为了保持行为的一致性,代理类和委托类通常会实现相同的接口,但是这个并不是强制性的。动态代理类的字节码在程序运行时由Java反射机制动态生成。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。 可以将InvocationHandler接口的子类想象成一个代理的最终操作类。Proxy类是专门完成代理的操作类,转载 2017-01-10 17:57:49 · 453 阅读 · 0 评论 -
XML配置文件头部理解
简介学习web开发两年时间了,虽然以前经常使用如Hibernate、Spring等框架的xml配置文件,但是对于他的头部几乎是一个小白,今天发现理解这些还是非常有用的,所以接下来做简单的介绍。源码示例<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/200原创 2017-08-04 10:59:20 · 5151 阅读 · 0 评论 -
java动态代理详解(好文)
引言Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。通过阅读本文,读者将会对 Java 动态代理机制有更加深入的理解。本文首先从 Java 动态代理的运行机制转载 2016-12-01 14:41:37 · 1014 阅读 · 0 评论