笔记3

框架总结
mybatis
底层做了解析xml后生成实现类:session.getMapper(UserMapper.class)

ThreadLocal:Commit() 使用2维数组批处理,批量insert
mybatis:catelog add 添加识别符
Config 文件的 key: http://mybatis.org/dtd/mybatis-3-config.dtd
mapper文件的key: http://mybatis.org/dtd/mybatis-3-mapper.dtd
分步查询:
association 与 collection区别:
javaType ofType

不断的累加东西:调用tostring()时栈溢出,累加,内容一直阶乘增加
动态sql:
trim|where|set|foreach|if|choose|when|otherwise|bind
工厂模式
单例模式
代理模式
观察者模式
适配模式
静态代理:添加新功能不影响自己原有和父类,如baseServlet。缺陷:(修改原有功能)会影响原有代码

动态代理:Proxy.newProxyInstance() (不灵活)
面向方法(面向切面aop),不改类不继承,增强方法
缺陷:依赖接口,必须有一个接口

cglib代理:生成了子类,不依赖接口 (占用内存)
父类属性过多,生成子类占用更多内存
spring
ioc 控制反转: 反射 不用new交给spring容器去创建 使用xml
先有组件才能使用容器去装,激活组件以提供特定的功能

DI 依赖注入:不需要手动调用set 通过反射 配置xml赋值
依赖注入是控制反转的基础,否则如果在组件不受框架控制的情况下,框架又怎么知道要创建哪个组件?

非侵入式:基于spring开发的应用对象可以不依赖spring的API

aop:面向切面(方法)编程 动态代理与cglib

容器:一切依赖于applicationContext,创建一个spring容器

组件化:

一站式:胶水 粘合不同内容
注解:

bean对象及其他:@component 组件

dao层使用:@repository 仓库

service层使用:@service

servlet层使用:@controller

自动装配(自动注入):@autowired

多例:@scope(“property”)

找到别名注解:@qualifier
通知(advice):比如前置增强的代码。后置增强的代码。异常增强代码。返回结果通知代码。

切面(aspect):包含有通知代码的类。

横切关注点:就是我们可以添加增强代码的位置。比如前置位置,后置位置,异常位置。和返回值位置。
@Before,@After,
@AfterReturning,@AfterThrowing

目标(target):被关注的对象。或者被代理的对象

代理(proxy):为了拦截目标对象方法,而被创建出来的那个对象.(自动生成并运行)

连接点(JoinPoint):连接点指的是横切关注点和程序代码的连接

切入点(pointcut):用户真正处理的连接点
spring
声明式事务:@transactional
spring-mvc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值