
spring
文章平均质量分 92
❀架构师花花
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【译】IOC容器2
Bean的Scope机制是可扩展的。你可以定义你自己的Scope,甚至重新定义现有的Scope,尽管后者被认为是不好的做法,你不能覆盖内置的singleton和prototypescope。为了将你的自定义scope集成到 Spring 容器中,你需要实现接口,本节将介绍该接口。要了解如何实现你自己的scope,请参阅 Spring 框架本身提供的Scope实现,以及Scopejavadoc,其中更详细地解释了你需要实现的方法。Scope。原创 2023-12-05 16:50:52 · 4173 阅读 · 0 评论 -
【译】IOC容器1
本章介绍了Spring框架对反转控制(IoC)原则的实现。IoC也被称为依赖注入(DI)。它是一个过程,对象仅通过构造参数、工厂方法的参数或在对象实例被构造或从工厂方法返回后在其上设置的属性来定义其依赖关系(即它们与之合作的其他对象)。然后容器在创建 bean 时注入这些依赖关系。这个过程从根本上说是Bean本身通过使用直接构建类或诸如服务定位模式的机制来控制其依赖关系的实例化或位置的逆过程(因此被称为控制反转)。原创 2023-12-05 16:35:03 · 1001 阅读 · 0 评论 -
【译】DispatcherServlet
要在你的Web应用程序中使用主题,你必须设置一个 org.springframework.ui.context.ThemeSource 接口的实现。WebApplicationContext 接口扩展了 ThemeSource,但将其职责委托给一个专门的实现。默认情况下,该委托是一个 org.springframework.ui.context.support.ResourceBundleThemeSource 实现,它从 classpath 的根部加载properties文件。原创 2023-12-05 16:14:55 · 1010 阅读 · 0 评论 -
【译】AOP- Advice Param And Order
当在同一个@Aspect类中定义的两个相同类型的建议(例如,两个@After建议方法)都需要在同一连接点运行时,排序是未定义的(因为无法通过反射javac编译类来检索源代码声明顺序)。最高优先级的建议首先“在进入的路上”运行(因此,给定两条之前的建议,优先级最高的一条首先运行)。然而,请注意,@After建议方法将在同一方面的任何@AfterReturning或@AfterThrough建议方法之后有效地调用,遵循AspectJ对@After的“After-finally建议”语义。原创 2023-12-04 16:34:10 · 999 阅读 · 0 评论 -
[译] AOP-通知
对于使用传统aspectj语言编写的around advice,传递给proceed的参数数量必须与传递给around advice的参数数量(而不是基础连接点接受的参数数量) 匹配,并且传递给给定参数位置的值在连接点为值所绑定到的实体添加原始值(如果现在没有意义,请不要担心)。“围绕”匹配方法的执行。advice方法通常应该返回从processed()的调用返回的值,即使基础方法的返回类型为void。通常,您希望建议仅在引发指定类型的异常时运行,并且您还经常需要访问Advice中引发的异常。原创 2023-12-04 15:15:56 · 977 阅读 · 0 评论 -
@ControllerAdvice + @ExceptionHandler 全局处理 Controller 层异常
零、前言对于与数据库相关的 Spring MVC 项目,我们通常会把 事务 配置在 Service层,当数据库操作失败时让 Service 层抛出运行时异常,Spring 事物管理器就会进行回滚。如此一来,我们的 Controller 层就不得不进行 try-catch Service 层的异常,否则会返回一些不友好的错误信息到客户端。但是,Controller 层每个方法体都写一些模板化的 tr...转载 2018-05-24 15:18:05 · 143 阅读 · 0 评论 -
比较分析 Spring AOP 和 AspectJ 之间的差别
比较分析 Spring AOP 和 AspectJ 之间的差别 AOP(Aspect OrientedProgramming, 面向切面/方面编程) 旨在从业务逻辑中分离出来横切逻辑【eg:性能监控、日志记录、权限控制等】,提高模块化,即通过AOP解决代码耦合问题,让职责更加单一。 运用技术: SpringAOP使用了两种代理机制,一种是基于JDK的动态代理,...转载 2018-12-04 20:31:12 · 275 阅读 · 0 评论 -
数据库事务的四大特性以及事务的隔离级别
数据库事务的四大特性以及事务的隔离级别 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别。 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如...转载 2018-12-04 20:36:28 · 144 阅读 · 0 评论 -
JDK动态代理 vs CGLib动态代理
Spring 动态代理机制Spirng的AOP的动态代理实现机制有两种,分别是:1)JDK动态代理:具体实现原理:1、通过实现InvocationHandlet接口创建自己的调用处理器2、通过为Proxy类指定ClassLoader对象和一组interface来创建动态代理3、通过反射机制获取动态代理类的构造函数,其唯一参数类型就是调用处理器接口类型4、通过构造函数创建...转载 2018-12-06 10:46:34 · 310 阅读 · 0 评论 -
spring AOP 动态代理原理 伪代码
一.AOP的概念 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低...转载 2018-12-06 10:50:47 · 390 阅读 · 0 评论 -
JAVA SSM框架基础面试题
JAVA SSM框架基础面试题 一、Spring面试题1、Spring 在ssm中起什么作用?Spring:轻量级框架作用:Bean工厂,用来管理Bean的生命周期和框架集成。两大核心:1、IOC/DI(控制反转/依赖注入) :把dao依赖注入到service层,service层反转给action层,Spring顶层容器为BeanFactory。2、AOP:面向切面编程...转载 2018-12-03 23:11:48 · 576 阅读 · 0 评论 -
浅谈java反射机制
浅谈java反射机制目录什么是反射 初探 初始化 类 构造函数 属性 方法 总结 思考什么是反射JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。初探对反射的最初接触是学习jdbc时,加载数据库驱动时会这样写:C...转载 2018-12-03 23:47:46 · 157 阅读 · 0 评论 -
@Pointcut()的execution、@annotation等参数说明
AOP的基本概念Advice(通知、切面): 某个连接点所采用的处理逻辑,也就是向连接点注入的代码, AOP在特定的切入点上执行的增强处理。 @Before:标识一个前置增强方法,相当于BeforeAdvice的功能. @After:final增强,不管是抛出异常或者正常退出都会执行. @AfterReturning: 后置增强,似于AfterReturningAdvice, ...转载 2019-05-15 15:53:11 · 78328 阅读 · 5 评论 -
AOP:切面编程常用API
摘要: 本文介绍使用Spring AOP编程中,在增强处理方法中获取目标方法的参数,定义切点表达式时使用args来快速获取目标方法的参数。获取目标方法的信息 访问目标方法最简单的做法是定义增强处理方法时,将第一个参数定义为JoinPoint类型,当该增强处理方法被调用时,该JoinPoint参数就代表了织入增强处理的连接点。JoinPoint里包含了如下几个常用的方法:Object[] ge...转载 2018-05-07 10:02:44 · 360 阅读 · 0 评论 -
Quartz--触发器
原转发的博文 http://blog.youkuaiyun.com/liaq325/article/details/8269439在Spring中配置Quartz前面介绍过了Timer在Spring中的实现,今天接前文介绍Quartz在Spring中的配置. 而Quartz类库不但有着上述JDK的Timer类库类似的配置,更重要的,它还有着类似于unix的cron服务的配置; 正是基于cron服务...转载 2018-05-11 11:36:54 · 648 阅读 · 0 评论 -
@RequestMapping 用法详解之地址映射(转)
引言:前段时间项目中用到了RESTful模式来开发程序,但是当用POST、PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加任何注解),查看了提交方式为application/json, 而且服务器端通过request.getReader() 打出的数据里确实存在浏览器提交的数据。为了找出原因,便对参数绑定(@RequestParam、 @RequestBody、转载 2017-11-17 14:10:49 · 402 阅读 · 0 评论 -
@RequestParam,@PathVariable,@ResponseBody,@RequestBody,@ModelAttribute
1、@RequestParam使用于参数上,用于将请求参数映射到指定参数变量上例如:@RequestMapping(value="/hello",method=RequestMethod.GET)public String testPara(@RequestParam String str){System.out.println(str);return "h转载 2017-11-17 14:45:36 · 248 阅读 · 0 评论 -
Spring 的事务隔离级别和传播属性
一、Propagation (事务的传播属性)Propagation : key属性确定代理应该给哪个方法增加事务行为。这样的属性最重要的部份是传播行为。有以下选项可供使用:PROPAGATION_REQUIRED--支持当前事务,如果当前没有事务,就新建一个事务。这是最常见的选择。PROPAGATION_SUPPORTS--支持当前事务,如果当前没有事务,就以非事务方式执行。P转载 2017-11-21 14:05:37 · 217 阅读 · 0 评论 -
spring事物配置,声明式事务管理和基于@Transactional注解的使用
事物管理对于企业应用来说是至关重要的,好使出现异常情况,它也可以保证数据的一致性。spring支持编程式事务管理和声明式事务管理两种方式。 编程式事务管理使用TransactionTemplate或者直接使用底层的PlatformTransactionManager。对于编程式事务管理,spring推荐使用TransactionTemplate。转载 2017-11-21 16:19:20 · 255 阅读 · 0 评论 -
spring事务配置 :基于AspectJ的XML方式
常用配置:<!-- 配置事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource"原创 2017-11-22 13:30:14 · 368 阅读 · 0 评论 -
spring声明式事务管理:基于注解的方式
1)在spring.xml中配置事务管理器DataSourceTransactionManager,<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="defaultDataSo...原创 2017-11-22 14:10:24 · 10709 阅读 · 0 评论 -
springMVC 中<mvc:annotation-driven > 和messageConverters的配置
Spring MVC 3.1 之后如何配置messageConverters 是一种简写形式,完全可以手动配置替代这种简写形式,简写形式可以让初学都快速应用默认配置方案。 会自动注册DefaultAnnotationHandlerMapping与AnnotationMethodHandlerAdapter 两个bean,是spring MVC为@Controllers分发请求所必须转载 2017-11-23 11:07:09 · 6537 阅读 · 0 评论 -
Spring MVC工作流程图
图一图二 Spring工作流程描述 1. 用户向服务器发送请求,请求被Spring 前端控制Servelt DispatcherServlet捕获; 2. DispatcherServlet对请求URL进行解析,得到请求资源标识符(URI)。然后根据该URI,调用HandlerMapping获得该H转载 2017-11-23 13:51:12 · 359 阅读 · 0 评论 -
springmvc业务流程框架
文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 2016.06.29 lutianfei nonespringmvc框架springmvc业务流程框架springmvc框架组件说明Spring MVC入门程序配置前端控制器配置处理器适配器开发Handler视图编写配置Handler配置处理器映射器配置视图转载 2017-11-23 14:01:49 · 1704 阅读 · 0 评论 -
SpringMVC实现文件的上传和下载
本项目源码下载:SpringMVC实现文件的上传和下载源码文件上传文件上传是项目开发中最常见的功能。为了能上传文件,必须将表单的method设置为POST,并将enctype设置为multipart/form-data。只有在这样的情况下,浏览器才会把用户选择的文件以二进制数据发送给服务器。 一旦设置了enctype为multipart/form-data,浏览器即会采用二进制流的方式来处理表单数...转载 2018-01-07 20:49:51 · 571 阅读 · 1 评论 -
DispatcherServlet
一. DispatcherServlet是前端控制器设计模式的实现,提供Spring Web MVC的集中访问点,而且负责职责的分派,而且与Spring IoC容器无缝集成,从而可以获得Spring的所有好处。DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:1、文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件...转载 2018-03-01 15:24:49 · 228 阅读 · 0 评论 -
Servlet的基本概念 以及与jsp的区别
出处http://blog.youkuaiyun.com/evankaka一、了解Servlet的概念 Servlet定义:Servlet是基于Java技术的Web组件,由容器管理并产生动态的内容。Servlet引擎作为WEB服务器的扩展提供支持Servlet的功能。Servlet与客户端通过Servlet容器实现的请求/响应模型进行交互。注意:Servlet不是从命令行启动的,而是由包含Jav...转载 2018-03-01 15:32:03 · 344 阅读 · 0 评论 -
Interceptor拦截器中的方法执行顺序
SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间。 一、定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的。在Sp...转载 2018-05-10 11:37:26 · 10251 阅读 · 0 评论 -
spring组件注解
1、@controller 控制器(注入服务)2、@service 服务(注入dao)3、@repository dao(实现dao访问)4、@component (把普通pojo实例化到spring容器中,相当于配置文件中的) @Component,@Service,@Controller,@Repository注解的类,并把这些类纳入进spring容器中管理。 下面写这个是原创 2017-11-17 13:56:29 · 1110 阅读 · 0 评论