spring
-
Bean的作用域:
类别 说明 singleton 在Spring容器中仅存在一个共享的Bean实例 prototype 每次从容器中都获取一个新的实例 request 每次HTTP请求都会创建一个新的Bean实例 session 同一个HTTP请求共享一个Bean实例 global session 同一个全局Session共享一个Bean实例 -
Bean属性注入:
- 属性注入
- 构造注入
-
AOP
- 增强(Advice)
- 切入点(Pointcut)
- 连接点(Joinpoint)
- 切面(Aspect)
- 代理(Proxy)
- 目标对象(Target)
- 织入(Weaving)
-
注解:
- @Component : 普通组件
- @Repository :用于标注DAO类
- @Service :用于标注业务类
- @Controller :用于标注控制器类
-
使用**@Autowired**注解实现Bean的自动装配,默认按类型匹配,可以使用@Qualifier指定Bean的名称
-
使用**@Scope**注解指定Bean的作用域
-
@Resource默认按照ByName自动注入:
- 如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常。
- 如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常。
- 如果指定了type,则从上下文中找到类似匹配的唯一bean进行装配,找不到或是找到多个,都会抛出异常。
- 如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配。
SpringMVC
-
处理请求流程:
- 请求抵达web.xml
- Web.xml找到DispatcherServlet
- DispatcherServlet调用组件解析SpringMVC的配置文件
- 将配置文件的解析结果保存在HandlerMap当中(Controller,拦截器)
- 配请求,寻找对应的Handler,即交互层Controller,执行该Controller
- Controller调用Service获取业务数据模型Model
- Service返回的业务模型,由Controller完成组装,组装成ModelAndView。即,模型和视图。
- Controller将ModelAndView返回给DispatcherServlet,DispatcherServlet根据返回的视图信息,将对应的数据模型,渲染到视图上,将视图的渲染结果交还给客户端。
MyBatis
-
核心接口和类的结构
-
SQL映射文件的几个顶级元素
- cache - 配置给定命名空间的缓存
- cache-ref – 从其他命名空间引用缓存配置
- resultMap –用来描述数据库结果集和对象的对应关系
- sql – 可以重用的SQL块,也可以被其他语句引用
- insert – 映射插入语句
- update – 映射更新语句
- delete – 映射删除语句
- select – 映射查询语句
-
Select
属性 描述 id 在命名空间中唯一的标识符,可以被用来引用这条语句。 parameterType 将会传入这条语句的参数类的完全限定名或别名。 resultType 从这条语句中返回的期望类型的类的完全限定名或别名。注意集合情形,那应该是集合可以包含的类型,而不能是集合本身。使用resultType或resultMap,但不能同时使用。 resultMap 命名引用外部的resultMap flushCache 将其设置为true,不论语句什么时候被调用,都会导致缓存被清空。默认值:false。 useCache 将其设置为true,将会导致本条语句的结果被缓存。默认值:true。 timeout 这个设置驱动程序等待数据库返回请求结果,并抛出异常时间的最大等待值。默认不设置(驱动自行处理)。 fetchSize 这是暗示驱动程序每次批量返回的结果行数。 statementType STATEMENT,PREPARED或CALLABLE的一种。让MyBatis选择使用Statement,PreparedStatement或CallableStatement。默认值:PREPARED。 resultSetType FORWARD_ONLY|SCROLL_SENSITIVE|SCROLL_INSENSITIVE中的一种。默认是不设置(驱动自行处理) -
动态SQL:if
-
动态SQL:choose、when、otherwise
-
动态SQL:trim、where、set
-
动态SQL:foreach