10 2019 档案
摘要:使用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中进行关联查询的思路都是一样的,在一个实体类中创建另一个实体类的对象作为当前类的属性,这样的话数据库中表与
阅读全文
摘要:动态 SQL MyBatis 的强大特性之一便是它的动态 SQL。如果你有使用 JDBC 或其它类似框架的经验,你就能体会到根据不同条件拼接 SQL 语句的痛苦。例如拼接时要确保不能忘记添加必要的空格,还要注意去掉列表最后一个列名的逗号。利用动态 SQL 这一特性可以彻底摆脱这种痛苦。 虽然在以前使
阅读全文
摘要:在MyBatis中的模糊查询我现在已经掌握了三种 第一种:使用CONCAT()函数连接参数形式 这种方式可以预防SQL注入,也是比较推荐的一种方式 第二种:使用${}方式 上面那种方式,如果参数为一个参数需要在声明方法是在方法的参数列表中添加@Param("参数值"),或者直接将参数值value,参
阅读全文