04 2018 档案

摘要:没有不会做的事,只有不想做的事。 在Java配置中我们借助AspectJde @DeclareParents注解为被通知的方法引入新的方法,在XML中我们可以使用Spring aop命名空间的 <aop:declare-parents>元素。 <aop:declare-parents>元素声明了切面 阅读全文
posted @ 2018-04-27 21:55 学而时习之,不亦说乎? 阅读(188) 评论(0) 推荐(0)
摘要:人,最大的敌人是自己。 AOP配置元素 在Spring的aop命名空间中,提供多个元素用来在XML中声明切面。 1)<aop:advisor>:定义AOP通知器 2)<aop:after>:定义AOP后置通知(不管被通知的方法是否执行成功) 3)<aop:after-returning>:定义AOP 阅读全文
posted @ 2018-04-26 23:47 学而时习之,不亦说乎? 阅读(183) 评论(0) 推荐(0)
摘要:人行犹可复,岁月难可追。 Java并不是动态语言,类编译完成后,很难在为该类添加新的功能,但是利用被称为引入的AOP概念,我们可以利用切面为Spring Bean添加新的方法。 使用@DeclareParents注解,将接口引入到Spring Bean中。 @DeclareParents注解由三部分 阅读全文
posted @ 2018-04-25 22:14 学而时习之,不亦说乎? 阅读(630) 评论(0) 推荐(0)
摘要:业精于勤疏于嬉,行成于思毁于随。 创建环绕通知 环绕通知是最强大的通知类型,它能够让你所编写的逻辑将被通知的目标方法完全包装起来,实际它就像在一个通知方法中同时编写前置通知和后置通知。 Spring使用@Around注解声明环绕通知。 ProceedingJoinPoint的proceed()方法 阅读全文
posted @ 2018-04-24 22:16 学而时习之,不亦说乎? 阅读(3214) 评论(0) 推荐(1)
摘要:读万卷书,行万里路。 定义切面 在使用AspectJ注解定义切面时,需要引入aspectjrt.jar 和 aspectjweaver.jar。 1.使用@Aspect注解标注类为切面。 2.使用以下AspectJ注解来声明切面通知方法: 1)@After:通知方法在目标方法返回或抛出异常后调用; 阅读全文
posted @ 2018-04-23 22:46 学而时习之,不亦说乎? 阅读(2523) 评论(0) 推荐(0)
摘要:为学须刚与恒,不刚则隋隳,不恒则退。——冯子咸 Spring指示器 在Spring AOP中,要使用AspectJ的切点表达式语言来定义切点。 1.Spring AOP支持的AspectJ指示器: 1)arg():限制连接点匹配参数为制定类型的执行方法。 2)@args():限制连接点匹配参数由指定 阅读全文
posted @ 2018-04-20 22:16 学而时习之,不亦说乎? 阅读(1009) 评论(0) 推荐(0)
摘要:忍耐和坚持是痛苦的,但它会逐给你好处。 Spring对AOP的支持 Spring AOP是建立在动态代理的基础之上,因此Spring对AOP的支持局限于方法拦截。如果你的AOP超过了简单的方法调用(如构造器或属性拦截),那么你需要使用AspectJ来实现切面。 Spring提供了4种类型的AOP支持 阅读全文
posted @ 2018-04-19 22:20 学而时习之,不亦说乎? 阅读(205) 评论(0) 推荐(0)
摘要:努力不一定成功;但是放弃必定会失败。 面向切面编程 在软件开发中,散布于应用中多处的功能称为横切关注点。通常来讲,这些横切关注点从概念上是与应用的业务逻辑相分离的(但是往往会直接嵌入到应用的业务逻辑之中)。把这些横切关注点与业务逻辑分离正是面向切面编程(AOP)所要解决的问题。 如果要重用功能的话, 阅读全文
posted @ 2018-04-18 22:30 学而时习之,不亦说乎? 阅读(246) 评论(0) 推荐(0)
摘要:锲而舍之,朽木不折;锲而不舍,金石可镂。 SpEL(Spring Expression Language, SpEL) 在依赖注入中,SpEL能够以一种强大和简洁的方式将值装配到bean属性和构造器参数中。 SpEL拥有很多特性: 1)使用bean的ID来引用bean; 2)调用方法和访问对象的属性 阅读全文
posted @ 2018-04-17 22:18 学而时习之,不亦说乎? 阅读(407) 评论(0) 推荐(0)
摘要:忍耐和坚持虽是痛苦的事情,但却能渐渐地为你带来好处。——奥维德 属性占位符 Spring一直支持将属性定义到外部的属性的文件中,并使用占位符值将其插入到Spring bean中。 占位符的形式为使用"${}"包装的属性名称,为了使用属性占位符,我们必须配置一个PropertyPlaceholderC 阅读全文
posted @ 2018-04-16 22:51 学而时习之,不亦说乎? 阅读(2119) 评论(0) 推荐(0)
摘要:故天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,增益其所不能。——孟轲 运行时注入值 依赖注入(DI)有两种表现形式:将bean的引用注入到另一个bean的构造器参数或属性中;将一个值注入到bean的构造器参数或属性中。 Spring提供了两种在运行时注 阅读全文
posted @ 2018-04-13 22:15 学而时习之,不亦说乎? 阅读(4436) 评论(0) 推荐(0)
摘要:加紧学习,抓住中心,宁精勿杂,宁专勿多。 ——*** Spring作用域 在默认情况下,Spring上下文中所有bean都是作为以单例(singleton)的形式创建的。有时候,你所使用的类是易变(mutable),在这种情况下将bean声明为单例是不安全的。 Spring定义了多种作用域,可以基于 阅读全文
posted @ 2018-04-13 00:06 学而时习之,不亦说乎? 阅读(889) 评论(0) 推荐(0)
摘要:学而不思则罔,思而不学则殆。 应用场景 Spring使用自动装配将bean引用注入到构造参数和属性中时,仅有一个bean匹配所需的结果时,自动装配才是有效的,如果不止一个bean能够匹配,这种歧义性会阻碍Spring自动装配属性、构造器参数或方法参数,且会抛出NoUniqueBeanDefiniti 阅读全文
posted @ 2018-04-11 22:33 学而时习之,不亦说乎? 阅读(797) 评论(0) 推荐(0)
摘要:天行健,君子以自强不息。——《周易》 应用场景 假设你希望一个或多个bean只有在应用的类路径下包含特定的库时才创建,希望某个bean只有当某个特定的bean也声明了之后才会创建,或者只有某个特定的环境变量设置之后才会创建bean。Spring 4 引入了@Conditional注解,它可以用到带有 阅读全文
posted @ 2018-04-10 21:55 学而时习之,不亦说乎? 阅读(237) 评论(0) 推荐(0)
摘要:你要是爬山,就爬到底,一跌倒就会跌到深渊里。 Spring确定哪个profile处于激活状态时,需要依赖两个独立的属性:spring.profiles.active和spring.profiles.default。如果设定 spring.profiles.active,那么它的值就会用来确定哪个pr 阅读全文
posted @ 2018-04-09 22:43 学而时习之,不亦说乎? 阅读(264) 评论(0) 推荐(0)
摘要:配置profile bean 在Java配置中使用@Profile注解指定某个bean属于哪一个profile @profile注解应用在类级别上,它会告诉Spring这个配置类中的bean只有在dev profile激活时才会创建;如果dev profile没有激活的话,那么带有该注解的bean就 阅读全文
posted @ 2018-04-08 22:01 学而时习之,不亦说乎? 阅读(616) 评论(0) 推荐(0)
摘要:书不记,熟读可记;义不精,细思可精;惟有志不立,直是无着力处。 ——朱熹 前面学习了Spring通过自动化配置、Java代码装配bean,现在我们学习最后一种XML配置装配bean的方式。 XML配置 在创建XML配置文件时,需要在配置文件顶部声明多个XML模式(XSD)文件,这些文件定义了配置Sp 阅读全文
posted @ 2018-04-03 22:55 学而时习之,不亦说乎? 阅读(203) 评论(0) 推荐(0)
摘要:向着某一天终于要达到的那个终极目标迈步还不够,还要把每一步骤看成目标,使它作为步骤而起作用。 ——歌德 很多场景下我们都可以通过Spring组件扫描和自动装配的方式来装配bean,但是在部分情况下,如使用第三方库中的Java类时,我们没办法将注解添加到其Java类中,Spring也就无法扫描识别装配 阅读全文
posted @ 2018-04-02 22:28 学而时习之,不亦说乎? 阅读(185) 评论(0) 推荐(0)