IoC的典型应用
让容器创建对象,初始化属性值
应用:
- 管理三层中的核心类Controller,Service,Dao
- 框架整合:使用Spring框架管理其他框架的核心类,SSH,SSM
Spring整合MyBatis
MyBatis:
jar包
主配置文件:实体类别名配置,四大参数,mapper映射文件
映射文件:sql语句
MyBatisUtils:SqlSessionFactory,SqlSession
Dao接口
Mapper动态代理自动生成Dao接口的实现类
一、添加jar包
mybatis的jar包
spring的jar包
新加三个包
spring对mabatis的整合包(框架之间整合都需要整合包)
其他jar包(连接池,单元测试,连接)
不用框架使用到共同的第三方jar包,去掉重包,留下高版本,向下兼容(如logging和log4j,留下高版本的一对)
一共21个jar包,不要少(log4two和logbank可以不要,就17个)
二、配置测试项目(spring整合mybatis)
2.1 mybatisconfig
2.2 映射文件
和mybatis一样,该怎么写怎么写,namespace千万不要忘记写
2.3 applicationContext
2.3.1整合包中的类
配置的整合包中的核心类:sqlSessionFactoryBean
其中的需要配置的属性
属性的set方法及其他方法
2.3.2 主配置文件
2.3.3 配置c3p0数据源
换个方法告诉jdbc.properties的位置,注意是$符号而不是#,别搞混了
2.3.4 配置mapper
之前的
spring自动生成所有实现类(不用每次getMapper生成一个实现类,自动生成所有的实现类)
注意这里是String类型的name,是value而不是ref
这里的id名字随便起
注意
mybatis中自动生成映射文件,正常来说首字母变小写,而前两个都是大写的时候是不变的,spring中bean生成也是这样的,不要像IStudentDao这么写
2.4 dao测试
只要读到applicationContext,sqlSession和所有dao的映射文件就都有了,直接用
三、项目service
service类似于上面的test,设置注入三层中的核心类
注解方法只能改下面这个,以后会用配置类来写
service
service测试
四、注解
注解方法只能改下面这个,以后会用配置类来写
4.1只能替换servicebean
当前包及其子包
4.2
因为之前配置了bean的id叫studentService,而这里就要改成studentServiceImpl
4.3
byType
byName