
Spring
yinni11
这个作者很懒,什么都没留下…
展开
-
Spring中的IOC/AOP 原理
· IOC/AOP 原理、源码、联系· 两种动态代理实现第一部分:IOC 学习过Spring框架的人一定都会听过Spring的IoC(控制反转) 、DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC 、DI这两个概念是模糊不清的,是很难理解的,今天和大家分享网上的一些技术大牛们对Spring框架的IOC的理解以及谈谈我对Spring Ioc的理解。一、分享Iteye的开涛对I...转载 2018-04-09 20:27:14 · 829 阅读 · 0 评论 -
SSM框架
SSM框架:Spring、Spring MVC和Mybatis其学习地址为:http://how2j.cn/k/ssm/ssm-restful/1638.html原创 2018-07-31 14:32:34 · 252 阅读 · 0 评论 -
简单说说spring的事务机制,以及是如何管理的?
事务管理可以帮助我们保证数据的一致性,对应企业的实际应用很重要。Spring的事务机制包括声明式事务和编程式事务。编程式事务管理:Spring推荐使用TransactionTemplate,实际开发中使用声明式事务较多。声明式事务管理:将我们从复杂的事务处理中解脱出来,获取连接,关闭连接、事务提交、回滚、异常处理等这些操作都不用我们处理了,Spring都会帮我们处理。声明式事务管理...转载 2018-08-10 00:00:03 · 934 阅读 · 0 评论 -
Spring MVC Controller的线程安全
问题:spring mvc controller线程安全吗? 引申servlet及struts1/2的Action线程安全吗?知识点:实例变量和类变量(静态变量) 类&单实例&多实例(如何知道一个类有多少个实例) 线程名称&线程安全 spring mvc controller单实例OR多实例 web容器启动时区别 synchronized使用实验:...转载 2018-08-06 20:31:45 · 1125 阅读 · 0 评论 -
SpringMvc中的HandlerMethodArgumentResolver的作用
SpringMvc中的HandlerAdapter会对Controller层方法的参数执行 HandlerMethodArgumentResolver(对参数的解析器)中的方法.首先HandlerMethodArgumentResolver接口主要有两个方法,supportsParameter和resolveArgument。supportsParameter方法boolean su...转载 2018-08-24 15:03:38 · 1355 阅读 · 0 评论 -
自定义注解(spring)--包含使用AOP创建日志系统
终于有时间可以在这里写一篇博文了,今天写一下我在项目中用到的自定义注解,就是在每次操作项目的时候,想把它的操作加在我的数据库中,简单地说就是日志管理,这些东西都写完之后,我就问我自己,问什么要自定义注解写,而不是什么模式(代理模式,装饰器模式…),原始代码等等,一下子楞了,于是学习了这个东西,今天就在这里总结一下。。。 编程思想:垂直化编程,就是A—B—C—D…等执行下去,一个逻辑一个逻辑完了再...转载 2018-08-24 15:38:44 · 149 阅读 · 0 评论 -
用自定义注解做点什么
请看前言你不一定听过注解,但你一定对@Override不陌生。当我们重写父类方法的时候我们就看到了@Override。我们知道它表示父类方法被子类重写了。现在告诉你,@Override就是一个注解。也许你会疑惑注解是什么?注解(annotation)是JDK5之后引进的新特性,是一种特殊的注释,之所以说它特殊是因为不同于普通注释(comment)能存在于源码,而且还能存在编译期跟...转载 2018-08-24 15:51:06 · 1546 阅读 · 1 评论 -
Spring 自定义注解,配置简单日志注解
java在jdk1.5中引入了注解,spring框架也正好把java注解发挥得淋漓尽致。下面会讲解Spring中自定义注解的简单流程,其中会涉及到spring框架中的AOP(面向切面编程)相关概念。不清楚java注解的,可以先了解java自定义注解:Java自定义注解一、创建自定义注解requestUrl 为我们自定义的一个参数package com.sam.annotati...转载 2018-08-24 16:00:55 · 150 阅读 · 0 评论 -
Spring的四种事务管理(一种编程式事务+三种声明事务)
一、Spring事务的介绍二、编程式事务xml的配置注入后直接在service层调用模板的方法使用三、基于AOP方式的声明式事务管理使用AOP声明式事务是时service层必须注入代理类四、基于AspectJ的声明式事务基于AspectJ的xml配置传播行为的配置五、基于注解方式的声明式事务管理在需要使用事务的...转载 2018-08-21 19:53:26 · 267 阅读 · 0 评论 -
Spring声明式事务原理分析
引言 要想对某个技术学习的比较好,就需要我们对其原理和源码有一定的了解,如果只停留在会用的层面是很难理解到这门技术的精髓所在的。最近小编对spring的声明式事务学习了一下,下面就总结一下。 声明式事务处理概念理解 声明式:程序员告诉spring容器生么样的目标方法采用什么样的事务策略 事务处理:spring容器所做的事情 在这种框架下,程序员只需要做好CRUD操作...转载 2018-08-21 20:15:21 · 390 阅读 · 0 评论 -
一般系统中引入的包有哪些?
主要分为以下部分Spring的框架类 web类 DB,Hibernate类 其他的一些工具类(例如:Lambda(注意和JDK8中的Lambda不一样)、dom4j、aspectj、javassist等)原创 2018-09-06 11:16:33 · 206 阅读 · 0 评论 -
SpringMVC在Controller层中注入request的坑
摘要: 记一次为了节省代码没有在方法体中声明HttpServletRequest,而用autowire直接注入所钻的坑结论给心急的人。 直接在Controller的成员变量上使用@Autowire声明HttpServletRequest,这是线程安全的! @Controller public class TestController{ @Autow...转载 2018-09-13 18:20:33 · 711 阅读 · 0 评论 -
Spring Cloud微服务实战
服务融创保护:Spring cloud Hystrix 在微服务架构中,我们将系统拆分成很多服务单元,各个单元的应用间通过服务注册与订阅的方式相互依赖。由于每个单元都在不同的进程中运行。依赖通过远程调用的方式咨询。这样就有可能因为网络原因或者是依赖服务自身问题出现调用故障或延迟,而这些问题会直接导致调用方的对外服务也出现延迟,若此时调用方的请求不断增加,最后就会因为等待出现故障的依...转载 2018-09-30 17:37:48 · 666 阅读 · 0 评论 -
swagger常用注解说明
常用到的注解有:Api ApiModel ApiModelProperty ApiOperation ApiParam ApiResponse ApiResponses ResponseHeader1. api标记Api 用在类上,说明该类的作用。可以标记一个Controller类做为swagger 文档资源,使用方式:@Api(value = "/user", de...转载 2018-11-01 21:26:17 · 363 阅读 · 0 评论 -
ApplicationContextAware接口的作用
在Web应用中,Spring容器通常采用声明式方式配置产生:开发者只要在web.xml中配置一个Listener,该Listener将会负责初始化Spring容器,MVC框架可以直接调用Spring容器中的Bean,无需访问Spring容器本身。在这种情况下,容器中的Bean处于容器管理下,无需主动访问容器,只需接受容器的依赖注入即可。但在某些特殊的情况下,Bean需要实现某个功能,但该功能必...转载 2018-11-26 11:47:56 · 121 阅读 · 0 评论 -
继承HttpServletRequestWrapper 实现request中流的重复获取
业务场景:需要打印所有的api请求的信息到log中,在Filter中拦截了所有的api请求,但是打印的信息中需要包含api请求的body,如果在Filter中使用request.getInputStream()来获取流来得到body中的信息,可以达到预期效果,但是流的获取只能获取一次,之后再获取就获取不到了,导致controller无法拿到参数。解决办法:HttpServletRequestWr...转载 2018-12-04 14:34:36 · 456 阅读 · 0 评论 -
HttpServletRequestWrapper 实现xss注入
自定义一个wapper 实现 HttpServletRequestWrapperpackage cn.baozun.crm.task.filter;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;/** * * <p>xs...转载 2018-12-04 15:00:00 · 2086 阅读 · 0 评论 -
Spring Listener ---- 理解 Spring ApplicationListener
ApplicationContext事件机制是观察者设计模式的实现,通过ApplicationEvent类和ApplicationListener接口,可以实现ApplicationContext事件处理。 如果容器中有一个ApplicationListener Bean,每当ApplicationContext发布ApplicationEvent时,ApplicationListener B...转载 2018-12-29 17:55:12 · 2647 阅读 · 0 评论 -
Spring MVC核心组件及工作流程解析
三、Spring MVC的核心组件1、DispatcherServlet:中央控制器,把请求给转发到具体的控制类2、Controller:具体处理请求的控制器3、HandlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略4、ModelAndView:服务层返回的数据和视图层的封装类5、ViewResolver:视图解析器,解析具体的视图6、Intercept...转载 2018-07-07 18:10:55 · 1955 阅读 · 0 评论 -
Spring常用的三种注入方式
Spring通过DI(依赖注入)实现IOC(控制反转),常用的注入方式主要有三种:构造方法注入,setter注入,基于注解的注入。构造方法注入先简单看一下测试项目的结构,用maven构建的,四个包:entity:存储实体,里面只有一个User类dao:数据访问,一个接口,两个实现类service:服务层,一个接口,一个实现类,实现类依赖于IUserDaotest:测试包 在spring的配置文件...转载 2018-05-06 11:04:02 · 1758 阅读 · 0 评论 -
Spring的组成
Spring组成Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。...转载 2018-04-09 20:37:10 · 755 阅读 · 0 评论 -
Spring中的AOP详解
一.前言 在以前的项目中,很少去关注spring aop的具体实现与理论,只是简单了解了一下什么是aop具体怎么用,看到了一篇博文写得还不错,就转载来学习一下,博文地址:http://www.cnblogs.com/xrq730/p/4919025.htmlAOPAOP(Aspect Oriented Programming),即面向切面编程,可以说是OOP(Object Oriented ...转载 2018-04-10 18:39:38 · 202 阅读 · 0 评论 -
Spring MVC的WebMvcConfigurerAdapter 作用
WebMvcConfigurerAdapter 的作用是进行SpringMVC的一些配置在Spring中,为了减少xml的配置,引入了@Configuration注解。Spring MVC的WebMvcConfigurerAdapter用法收集(零配置,无XML配置) https://www.cnblogs.com/EasonJim/p/7720095.html...转载 2018-04-03 12:38:41 · 3365 阅读 · 0 评论 -
Spring中AOP实现事务管理器
Spring的AOP配置 1.第一种:注解配置AOP 2.第二种:xml配置AOP使用Spring AOP实现声明式事务管理1.基于XML配置,现在也有很多通过注解的方式来配置事务管理类(1)配置事务管理类[html] view plain copy <!-- 定义事务管理器 --> <bean id="transactionManager" cl...转载 2018-04-03 19:15:40 · 9663 阅读 · 0 评论 -
JAVA中的单元测试
.单元测试框架有 1.1 Mockito JUnit Mockito是一款在MIT License可用的支持Java的开源测试框架。Mockito允许程序员使用自动化的单元测试创建和测试双对象(模拟对象),以达到测试驱动开发(TDD)和行为驱动开发(BDD)的目的。 1.2 Spring JUnit spring 提供的单元测试的包为:spri...原创 2018-04-12 09:33:36 · 178 阅读 · 0 评论 -
Spring中的AOP 和 动态代理技术
Spring AOP 和 动态代理技术说明:本文首发于微信公众号并同步至个人博客 http://www.fengzheng.pub/archives/277.html,转载请注明来源。AOP 是什么东西首先来说 AOP 并不是 Spring 框架的核心技术之一,AOP 全称 Aspect Orient Programming,即面向切面的编程。其要解决的问题就是在不改变源代码的情况下,实现对逻辑功...转载 2018-04-18 16:43:19 · 216 阅读 · 0 评论 -
@RequestBody, @ResponseBody 注解详解(转)
引言: 接上一篇文章讲述处理@RequestMapping的方法参数绑定之后,详细介绍下@RequestBody、@ResponseBody的具体用法和使用时机;同时对曾经看的一篇文章中讲述的某些部分进行澄清 (文章地址:http://www.byywee.com/page/M0/S702/702424.html)。 简介:@RequestBody作用: i) 该注解用于读取Reque...转载 2018-04-12 23:02:19 · 177 阅读 · 0 评论 -
@RequestMapping 用法详解之地址映射(转)
引言:前段时间项目中用到了RESTful模式来开发程序,但是当用POST、PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为application/json,而且服务器端通过request.getReader() 打出的数据里确实存在浏览器提交的数据。为了找出原因,便对参数绑定(@RequestParam、 @RequestBody、 @Req...转载 2018-04-12 23:04:04 · 148 阅读 · 0 评论 -
Spring中的注解
1. 当用get发请求时,GET的URL中带有参数,在Spring中怎么提取这些参数的例子@RequestMapping(value = {“alarmStat/{neId}/{deviceId}”},method= { GET})Public @ResponseBody WebAsyncTask<TaskAlramCountStat> findAlarm(final @P...转载 2018-04-12 23:05:55 · 231 阅读 · 0 评论 -
@Qualifier注解
背景 我们知道,自动装配注入时,可以使用@Resource或者@Autowired注入bean。 但有时候仅仅一个bean_id还无法清晰明确出要注入的bean,因此可以引入@Qualifier注解。在class类和bean注入时,都加上@Qualifier(),来达到注入某个特指bean的作用 1. @Qualifier 实例如下://定义亚洲人@...转载 2018-05-06 11:10:25 · 1975 阅读 · 0 评论 -
Spring中Bean的理解以及@Bean的作用
Bean在Spring和SpringMVC中无所不在,将这个概念内化很重要,下面分享一下我的想法: 一、Bean是啥1、Java面向对象,对象有方法和属性,那么就需要对象实例来调用方法和属性(即实例化); 2、凡是有方法或属性的类都需要实例化,这样才能具象化去使用这些方法和属性; 3、规律:凡是子类及带有方法或属性的类都要加上注册Bean到Spring IoC的注解; 4、把Bean理解为类的代理...转载 2018-05-06 11:30:51 · 930 阅读 · 0 评论 -
Spring AOP中的静态代理和动态代理的原理和实践
对于最近博主最近写博客的兴致大发,我也在思考:为什么而写博客?在互联网时代,无论你是牛人大咖,还是小白菜鸟,都有发表自己看法的权利。无论你是对的还是错的,都会在这个平台上找到答案。所以,我会尽可能去写自己感兴趣的内容,无论正面或者负面的消息,都尽可能回复我的每一位读者。即使自己只有一个读者,也会坚持写下去。有一个平台,去表达自己,记录自己的点滴,难道不是一种快乐吗?同样,了解技术是一个深入和拓展的...转载 2018-05-06 19:23:27 · 12014 阅读 · 3 评论 -
Spring框架涉及到的设计模式
Spring框架涉及到的设计模式:Spring用到了很多的设计模式,其中最重要的两个设计模式是:1、 工厂模式a) Spring容器就是实例化和管理Bean的工厂 工厂模式可以将Java对象的调用者从被调用者的实现逻辑中分离出来。调用者只关心被调用者必须满足的某种规则,这里的规则我们可以看作是接口,而不必关心实例的具体实现过程,具体的实现过程,有Bean工厂来完成。2、 单态模式【单例模式】a) ...转载 2018-05-07 21:46:16 · 568 阅读 · 0 评论 -
Spring学习之路--单例模式和多例模式
在Spring中,bean可以被定义为两种模式:prototype(多例)和singleton(单例)singleton(单例):只有一个共享的实例存在,所有对这个bean的请求都会返回这个唯一的实例。prototype(多例):对这个bean的每次请求都会创建一个新的bean实例,类似于new。Spring bean 默认是单例模式。实战演示:代码详见上一篇文章中的代码。...转载 2018-05-07 21:50:20 · 1014 阅读 · 0 评论 -
Spring -- HttpServletRequestWrapper 用法
HttpServletRequestWrapperFilter能在request到达servlet的服务方法之前拦截HttpServletRequest对象,而在服务方 法转移控制后又能拦截HttpServletResponse对象。你可以使用filter来实现特定的任务,比如验证用户输入,以及压缩web内容。但HttpServletRequest对象的参数是不可改变的,这极大地缩减了fi...转载 2018-12-29 18:53:56 · 11199 阅读 · 0 评论