一 . 获取Bean的方法详解 , 如下图 :
?二? . Spring配置非自定义bean----DruidDatasource
?
?我们举个例子 : 配置Druid数据源交由Spring管理
首先导入在pom文件Druid坐标
然后考虑 : 被配置的Bean的实例化方式是什么 :? 无参构造
被配置的Bena是否要注入必要属性 :? 四个基本信息?
<!-- 配置数据源信息-->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" >
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"></property>
<property name="username" value="root"></property>
<property name="password" value="y2123802992"></property>
</bean>
之后照常getBean即可
DataSource dataSource = (DataSource)applicationContext.getBean("dataSource");
System.out.println(dataSource);
?三 . 配置Connection交由Spring管理(放心,开发中不会这样配,Connection由Datasource底层封装好了)
<bean id="clazz" class="java.lang.Class" factory-method="forName">
<constructor-arg name="className" value="com.mysql.jdbc.Driver"></constructor-arg>
</bean>
<bean id="connection" class="java.sql.DriverManager" factory-method="getConnection" scope="prototype">
<constructor-arg name="url" value="jdbc:mysql://localhost:3306/mybatis"></constructor-arg>
<constructor-arg name="user" value="root"></constructor-arg>
<constructor-arg name="password" value="y2123802992"></constructor-arg>
</bean>
四 . 配置日期对象交由Spring管理
j
?五 . 配置MyBatis的SqlSessionFatory交由Spring管理
1 . 在pom文件导入相关坐标
?2 . 创建mybatis-config.xml文件
内容如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<environments default="development">
<environment id="development">
<transactionManager type="JDBC"/>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</dataSource>
</environment>
</environments>
<mappers>
<package name="com.itheima.mapper"></package>
</mappers>
</configuration>
在主配置文件applicationContext.xml里配置
<!--静态工厂方法方式-->
<bean id="in" class="org.apache.ibatis.io.Resources" factory-method="getResourceAsStream">
<constructor-arg name="resource" value="mybatis-config.xml"></constructor-arg>
</bean>
<!-- 无参构造实例化-->
<bean id="builder" class="org.apache.ibatis.session.SqlSessionFactoryBuilder"></bean>
<!-- 实例工厂方法-->
<bean id="sqlSessionFactory" factory-bean="builder" factory-method="build">
<constructor-arg name="inputStream" ref="in"></constructor-arg>
</bean>-->
之后在getBean(sqlSessionFactory)即可