容器执行点
1.整合 druid 连接池
-
添加依赖
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.2.8</version> </dependency>
1.硬编码方式整合
-
新建德鲁伊配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"> <property name="username" value="root"></property> <property name="password" value="123456"></property> <property name="driverClassName" value="com.mysql.cj.jdbc.Driver"></property> <property name="url" value="jdbc:mysql://localhost:3306/mybatis"></property> </bean> </beans>
-
注意
- 属性是通过 set 方法注入进来的
2.使用占位符获取连接数据
-
简历 db.properties 配置文件
username=root password=123456 driverClassName=com.mysql.cj.jdbc.Driver url=jdbc:mysql://localhost:3306/mybatis
-
配置引用db.properties
<bean id="dataSource1" class="com.alibaba.druid.pool.DruidDataSource"> <property name="username" value="${username}"></property> <property name="password" value="${password}"></property> <property name="driverClassName" value="${driverClassName}"></property> <property name="url" value="${url}"></property> </bean> <!-- 获取db.properties 配置文件--> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="location" value="db.properties"></property> </bean>
-
引入 db.properties 缩写
<context:property-placeholder location="db.properties"/>
3.注意事项
-
<context:property-placeholder location=“db.properties”/> 使用这个标签加载配置会加载到电脑系统配置
-
解决方式
-
给配置文件加上前缀变量
jdbc.username=root jdbc.password=123456 jdbc.driverClassName=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/mybatis username=123
-
添加属性
<context:property-placeholder system-properties-mode="NEVER" location="db.properties"/>
-
-
加载多个配置文件可以用 * 代替
<context:property-placeholder system-properties-mode="NEVER" location="*.properties"/>
2.容器总结
1.容器层级结构
-
按两次 shift 搜索 BeanFactory
-
按 ctrl + h 查看继承结构
2.创建容器
-
BeanFactory 是容器顶层接口
-
ApplicationContext 核心接口
-
AbstractApplicationContext 抽象类,提供了获取 bean 以及加载资源的功能
-
ClassPathXmlApplicationContext 装载bean的,做初始化的
3.bean 配置
<bean id="user" class="cn.sycoder.lifecycle.User" init-method="init" destroy-method="destroy" scope="默认单例" autowire="byName" lazy-init="false">
<property name="name" value="sy"></property>
</bean>
- lazy-init:如果开启懒加载,默认是调用时才创建bean
- init-method:初始化方法
- destroy-method:销毁方法
- scope:作用域,单例,原型
- autowire:自动注入
- id:代表名称,必须唯一
- class:全限定类名
4.di 注入
- constructor-arg:构造器注入
- property : setter 注入
- 集合注入
5.注意
- 下去的时候,一定要去多练,把 bean 配置, di 注入,以及配置第三方bean 和引入配置文件全部掌握,都是重点