Spring
讲解Spring的各项核心技术
技术人风清扬
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
13-SpringAOP最强大的通知-环绕通知
为什么说环绕通知是SpringAOP最强大的通知,因为他可以将之前的几个通知融合到一起,所以功能相比其他通知,会更加强大和灵活。下面,我们通过代码来理解下:1,为了跟之前的切面类区分,我们创建一个新的切面类2,编写测试程序,来验证结果这就是强大的环绕增强,哈哈,我说的增强就是上述的通知,个人感觉读增强更合适...原创 2018-05-17 16:35:20 · 7407 阅读 · 0 评论 -
12-SpringAOP编程实现-实践得真知-下篇(XML的方式)
在之前,我们主要讲了以注解的方式来实现AOP,本篇我们来谈谈XML的实现方式,在项目开发中,我们基本是两种方式混合使用,所以这个也是需要掌握的方式之一。1,创建接口和实现类(跟之前没差别,就是少了个@Component注解)2,创建切面类(Aspect)3,关门,上配置文件以上的配置文件,会发现重复在写一样的正则表达式,我们可以再坐下简化编写测试程序,验证结果:到此,大家可以结合之前的几篇文章,顺...原创 2018-05-17 16:32:11 · 155 阅读 · 0 评论 -
11-SpringAOP-关于切点和织入说明(JDK和CGLIB再也不迷糊)
1,切点的说明,我们在上篇文章中使用正则表达式定义了切点,在此我对这段正则表达式做一个说明,帮助没基础的同学方便理解。execution(* com.spring.aop.UserServiceImpl.showUser(..))execution:表示执行这个方法的时候会触发*:表示任意返回类型的方法com.spring.aop.UserServiceImpl:表示全类名showUser:表示被...原创 2018-05-17 16:31:16 · 1014 阅读 · 0 评论 -
10-Spring-AOP编程实现-实践得真知-上篇
首先,要明确两个问题:1,AOP编程可不是Spring独有的,Spring只是支持AOP编程的框架之一,这一点非常重要,切勿搞反了关系。2,AOP分两类,一类可以对方法的参数进行拦截,一类是对方法进行拦截,SpringAOP属于后者,所以Spring的AOP是属于方法级的那么,Spring是如何实现AOP的?基本上来说,我们常用的有两种方式:1,基于@AspectJ注解的方式2,基于XML配置的方...原创 2018-05-16 17:13:59 · 333 阅读 · 1 评论 -
09-秒杀AOP常用术语,一篇就够
AOP的常用术语,常常是初学者感觉比较乏味的,下面我们结合上一篇文章的图来进行对照说明。建议大家可以先看下后面的图,再来对比下前面的说明,会更清晰1,切面(Aspect)比如上文讨论的数据库事务,这个数据库事务代码贯穿了我们的整个代码,我们就可以这个叫做切面。SpringAOP将切面定义的内容织入到我们的代码中,从而实现前后的控制逻辑。比如我们常写的拦截器Interceptor,这就是一个切面类2...原创 2018-05-16 17:04:36 · 454 阅读 · 0 评论 -
08-你真的看懂了SpringAOP的运行机制吗?
之前我们谈了Spring-IOC,这是非常巧妙的思想,今天我们继续来探讨Spring的另一个重要特性Spring-AOPAOP(Aspect Oriented Programming):面向切面编程什么是面向切面编程,我的理解是,在没有使用面向切面编程之前,我们是经常把业务的核心代码和非核心业务代码混搭在一起。我们以数据库的操作为例来说明:1,获取连接对象2,执行SQL(核心业务代码)3.1,如果...原创 2018-05-16 17:03:28 · 366 阅读 · 0 评论 -
07-Spring-Profile,灵活定制启动环境
需求:比如我们需要在开发和测试两个环境进行切换,那么这个时候,我们又不想频繁修改我们的配置文件,这个问题怎么办?方案:Spring为我们提供了Profile机制如果是结合@Bean注解,则可以使用@Profile("dev")注解,然后在启动测试类加入@ActiveProfiles("dev")来启动该机制不过,通常来说,通过tomcat服务器启动的情况会多一些,所以我们更多采用XML的方式,然后...原创 2018-05-16 17:02:27 · 172 阅读 · 0 评论 -
06-Spring-Bean的作用域-浅谈struts2安全漏洞
Spring-Bean的作用域有4种1,单例(singleton),默认设置,只会产生一个实例2,原型(prototype),每次都会产生一个新的实例3,会话(session),在web应用中,在整个会话过程中只创建一个实例4,请求(request),在web应用中,在一次请求中创建一个实例开发中,Service,dao层对象采用默认作用域,而比如Struts2的Action则推荐采用protot...原创 2018-05-16 17:01:20 · 190 阅读 · 0 评论 -
05-Spring Bean的装配方式
我们如何将自己开发的Bean装配到Spring-IOC容器中,基本来说有3种方式:1,通过XML进行配置<bean id="" class=""></bea>2,通过注解进行配置,可以有效减少XML的配置,推荐使用首先,在需要被Spring管理的Bean上添加@Component注解,其次,通过@ComponentScan注解指定扫描的包或者XML的方式都可以<con...原创 2018-05-16 17:00:09 · 183 阅读 · 0 评论 -
04-Spring Bean注入方式
实现IOC容器主要有两种方式:1,依赖查找2,依赖注入,Spring采用的是依赖注入的方式依赖注入又分为3种方式:2.1 构造器注入2.2 setter注入2.3 接口注入构造器注入和setter注入背后都是采用反射的技术来实现。接口注入,通常是指资源并非来自系统自身,而是来自系统外。比如我们可以在tomcat下配置数据源,然后在程序里面通过JNDI的方式去获取该数据源,这种方式就称为接口注入说明...原创 2018-05-16 16:59:09 · 134 阅读 · 0 评论 -
03-Spring-IOC容器的设计
Spring-IOC容器的设计主要基于BeanFactory和ApplicationContext两个接口。BeanFactory的源码:它的子接口及关键实现类:我们常用的接口是ApplicationContext接口,而ClasspathXmlApplicationContext这个类时最常用的子类。spring容器的关键要点:1,我们可以通过以下代码来初始化spring容器:Applicati...原创 2018-05-16 16:58:06 · 228 阅读 · 0 评论 -
02-Spring-IOC概述
今天,我们开始来谈Spring的核心IOC。IOC(Inversion of Control),控制反转举个例子,生活的例子,我想喝杯咖啡来醒醒神,那么这个时候,我有两种选择,一种是通过自己买来咖啡豆,然后自己制作;另一种选择就是直接到星巴克,我们跟店员说我们的要求,然后店员根据我们的要求,一杯香气浓浓的咖啡就这样呈现到了我们面前。在程序的世界里,如何对应?通过自己制作咖啡------------...原创 2018-05-16 16:57:01 · 169 阅读 · 0 评论 -
01-Spring的历史
在Java开发的世界里,Spring框架是最重要的开发框架,没有之一,所以掌握Spring非常重要,今天,我们从Spring的历史开始谈起。Spring的第一个版本从2004年开始,至今已有十几年的历史。作者是来自澳大利亚的工程师RodJohnson,这可是一位音乐专家,获得了音乐博士学位。Spring认为一切的Java类都是资源,而这些资源都是Bean,Spring提供了IOC容器就是来管理这些...原创 2018-05-16 16:55:56 · 421 阅读 · 0 评论