上篇我们介绍了Spring中有关高级依赖关系配置的内容,也可以调用任意方法的返回值作为属性注入的值,它解决了Spring配置文件的动态性不足的缺点.而本篇,我们将介绍Spring的又一大核心思想,AOP,也就是面向切面编程.这是对面向对象编程的一个扩展,即便问世不长,但是已经成为当下最流行的编程思想之一.本篇主要涉及以下内容: Spring中的后置处理器 "零配置"实现Bean的配置 Spring AOP 一.后置处理器 为了实现良好的扩展性,Spring允许我们扩展它的IO…
注解配置业务类 使用@Component("s") 注解ProductService 类 package com.how2java.service; import org.springframework.stereotype.Component; @Component("s") public class ProductService { public void doSomeService(){ System.out.println("doSomeServi…
1.基于注解开发AspectJ (1)AspectJ注解 基于注解开发AspectJ要比基于XML配置开发AspectJ便捷许多,所以在实际开发中推荐使用注解方式.关于注解的相关内容如下: @Aspect:用于定义一个切面,注解在切面类上: @Pointcut:用于定义切入点表达式.在使用时需要定义一个切入点方法,该方法是一个返回值void且方法体为空的普通方法: @Before:用于定义前置通知.在使用时通常为其指定value属性值,该值可以是已有的切入点,也可以直接定义切入点表达式: @Af…
什么是注解 传统的Spring做法是使用.xml文件来对bean进行注入或者是配置aop.事物,这么做有两个缺点: 1.如果所有的内容都配置在.xml文件中,那么.xml文件将会十分庞大:如果按需求分开.xml文件,那么.xml文件又会非常多.总之这将导致配置文件的可读性与可维护性变得很低 2.在开发中在.java文件和.xml文件之间不断切换,是一件麻烦的事,同时这种思维上的不连贯也会降低开发的效率 为了解决这两个问题,Spring引入了注解 (注解是jdk1.5新特性),通过"@XXX&qu…
     上篇文章我们通过注解对映射了单个实体类,但是具体项目中往往实体类之间又是相互关联的,本篇文章就是从实体类之间存在的不同关联角度,具体学习下如何映射他们之间的关联,主要涉及内容如下: 单向的一对一关联关系映射 单向的多对一的关联关系映射 单向的一对多的关联关系映射 单向的多对多的关联关系映射 双向的一对一关联关系映射 双向的一对多关联关系映射 双向的多对多关联关系映射 一.单向的一对一关联关系映射 首先,我们需要知道什么样的两张表具有一对一的关联关系. 这就是一个典型的单向的一对一的关联…
由小编的上篇博文可以一窥基于AspectJ注解配置的AOP编程实现. 本文一下未贴出的相关代码示例请关注小编的上篇博文<Spring学习之旅(七)基于XML配置与基于AspectJ注解配置的AOP编程比较>,在此不再赘述. 基于AspectJ注解配置的AOP编程,就是将所有配置信息都放在源代码中以注解的方式标注.以与“基于XML配置”的AOP编程相区别. 1)Spring AOP注解就是依赖AspectJ来实现.因此使用Spring AOP注解,必须引入Aspectj框架及相应的包(aspec…
本篇博文用一个稍复杂点的案例来对比一下基于XML配置与基于AspectJ注解配置的AOP编程的不同. 相关引入包等Spring  AOP编程准备,请参考小编的其他博文,这里不再赘述. 案例要求: 写一个简单的实现四则运算的计算器. 加入AOP功能:日志功能:检测参数中是否有负数的功能. 废话不多说了,直接上代码: (一)基于XML配置: 定义了一个接口类: package com.edu.aop; public interface ArithmeticCalculator { int add(i…
Spring配置Bean有两种形式(XML和注解) 今天我们学习通过XML方式配置Bean 1. Bean的配置方式 通过全类名(反射)的方式   √ id:标识容器中的bean.id唯一. √ class:bean的全类名,通过反射的方式在IOC容器中创建Bean,所以要求Bean中必须有无参的构造器 2.依赖注入的方式 1)属性注入:通过setter方法注入Bean的属性值或依赖的对象 属性注入使用<Property>元素,使用name指定Bean的属性名称,使用value指定Bean的属…
目录 1.Spring的概述 2.Spring的入门(IOC) 3.Spring的工厂类 4.Spring的配置 5.Spring的属性注入 6.Spring的分模块开发的配置 @ 1.Spring的概述 在学习SSM框架中,我建议初学者最好先学Spring框架,其次mybatis接着springMVC,先学mybatis当然也是可以的,今天我们就以绝对优雅的姿态闯进Spring世界,系好安全带,准备好了吗,出发了哦!!!咳咳....平时开发接触最多的估计就是IOC容器,它可以装载bean(所谓…
Spring 框架学习笔记(1) 一.简介 Rod Johnson(spring之父) Spring是分层的Java SE/EE应用 full-stack(服务端的全栈)轻量级(跟EJB比)开源框架,以IoC(Inversion of Controll,控制反转,解耦)和AOP(Aspect oriented programming,面向切面编程,底层是动态代理)为内核. 提供:能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架. 表示层Spring MV…