知识点1:
ThreadLocal
- 线程容器,给线程绑定一个 Object 内容,后只要线程不变,可以随时 取出.
- 1 改变线程,无法取出内容.
在用mybatis框架的项目中优化代码,创建openSessionView
知识点2:servlet --> service --> mapper 从开头到不断调用走的都是一个线程,所以在此线程中放入一个对象,整个路线上得到的这个对象都会是一个对象;
service里面的方法都需要用到一段相同的代码,主要是获取SqlSession对象,这里创建一个工具类,里面只生成一个对象,只要是同一个线程SqlSession的取值都是同一个;
知识点3:filter能够在servlet前后增加内容,所以filter就是OpenSessionInView类,并在filter的主方法上创建session servlet 关闭session,优化代码