一 . 获取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 configurationPUBLIC "-//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)即可