依赖注入是在各个责任链上的类解耦了,彻底独立了之后,用来在配置文件中描述类之间的关系的一种手段
我们在servlet中保存service的属性,使用get/set方法给属性赋值,通过类属性来描述责任链上的两个类之间的关系.
等于将本来写在源码上的类和类之间的关系,全部写在了配置文件里.注入二字就是给类属性赋值
源码中的类因为ioc解耦变成独立的类,原本的耦合关系靠注入写在配置文件里,源码可以不需要大的改动而是只改动配置文件即可实现对类的维护等操作
spring-mybatis整合
我们发现有许多对象是写死的,不管实现什么功能总是有他,那就直接把他们都放到ioc中,让系统帮我们生成动态的类好了,于是将mybatis中写死的直接用spring将之整合
整合后的对象就像之前servlet-->service-->dao那么死板,时有固定套路的,写一次再也不用修改的
有DataSourse用来连接数据库/有factory用来创建SqlSession对象/有service用来生成业务层对象/有mapper用来扫描对象
<!--配置DataSourcebean对象--> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/数据库名"></property> <property name="username" value="root"></property> <property name="password" value="1234"></property> </bean> <!--配置Factory工厂对象--> <bean id="factory" class="org.mybatis.spring.SqlSessionFactoryBean"> </bean> <!--配置mapper扫描bean--> <bean id="mapper" class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="sqlSessionFactory" ref="factory"></property> <property name="basePackage" value="com.bjsxt.mapper"></property> </bean> <!--配置业务层bean--> <bean id="us" class="com.bjsxt.service.impl.UserServiceImpl"> </bean>
下次直接拿来用即可