摘要:
通知(advice)是Spring中的一种比较简单的切面,只能将切面织入到目标类的所有方法中,而无法对指定方法进行增强 顾问(advisor)是Spring提供的另外一种切面,可以织入到指定的方法中 接口PointcutAdvisor 第一步:定义接口以及实现类 第二步:定义增强类 第三步,分别使用 阅读全文
摘要:
使用ProxyFactoryBean之前先来了解一下它的属性 了解完ProxyFactoryBean的重要的几个属性之后,我们就用ProxyFactoryBean的方式来进行一个环绕增强 第一步:创建一个业务类 第二步:创建增强类,实现环绕增强要实现的MethodInterceptor 接口,重写i 阅读全文
摘要:
什么是代理模式(Proxy) 定义:给目标对象提供一个代理对象,并由代理对象控制对目标对象的引用 在代理模式中,是需要代理对象和目标对象实现同一个接口 为什么要用代理 最最最主要的原因就是,在不改变目标对象方法的情况下对方法进行增强,比如,我们希望对方法的调用增加日志记录,或者对方法的调用进行拦截, 阅读全文
摘要:
一:有哪些不同类型的IOC (依赖注入)方式?解释说明下 答:1.Setter方法注入 属性需要封装Setter方法 2.构造方法注入 public UserServiceImpl(UserDao dao) { this.dao=dao; } <bean id="service" class="se 阅读全文
摘要:
在Spring中Bean的作用域是可以自己定义的,如果你想每次需要bean时都产生一个新的bean实例时你可以声明Bean的作用域的属性值为prototype。 而在Spring中Bean的作用域属性默认为singleton,其实也就是单例的。 Spring 框架支持以下五个作用域, 在spring 阅读全文
摘要:
一:为什么要有AOP? 上图的案例是使用MyBatis完成用户添加的经典案例,红色方框中的是具体实现功能的业务代码。那么大家可以看到,仅仅只占整个代码片段的三分之一,那么其余的三分之二呢? 充斥着许多功能代码。如:日志记录、事务提交、事务回滚。。。。这些功能代码和业务代码耦合在一起,分散精力,不得尝 阅读全文
摘要:
Spring框架由大约20个功能模块组成。这些模块被分成六个部分,Core Container、Data Access / Integration、Web、Aop、Instrumentation、Test 一:IOC(Inversion of Control) 即“控制反转”,不是什么技术,而是一种 阅读全文
摘要:
在MyBatis中,一些SQL语句例如(select * from 表名;delete from 表名)等等,这些SQL语句比较简单,没有那些复杂的关联关系,但是在不用注解的情况下,要执行这些方法的话就要从DAO层,Mapper映射文件两个方面进行实现,这些步骤在我们MyBatis中可以使用注解进行 阅读全文
摘要:
一:延迟加载 1.了解延迟加载: 延迟加载又叫懒加载,也叫按需加载,也就是说先加载主信息,需要的时候,再去加载从信息。代码中有查询语句,当执行到查询语句时,并不是马上去DB中查询,而是根据设置的延迟策略将查询向后推迟。 2.延迟加载的好处: 先从单表查询、需要时再从关联表去关联查询,大大提高数据库性 阅读全文
摘要:
一:在使用MyBatis进行关联查询的时候,首先要确定表与表之间的关联关系 表与表之间一般存在三种关系,即一对一,一对多,多对多关系。 下面分别就三种关系讲解 1.一对一和一对多在Mybatis中进行关联查询的思路都是一样的,在一个实体类中创建另一个实体类的对象作为当前类的属性,这样的话数据库中表与 阅读全文