5:案例:数据源对象管理
5.1:德鲁伊连接池管理(Druid)
第一步:先把相关的依赖导入
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.2.10.RELEASE</version> </dependency> <!-- 导入Druid的坐标--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.16</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.45</version> </dependency>
第二部:现在也没啥事儿,利用Spring新建个bean对象测试呗
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); DataSource dataSource = (DataSource) ctx.getBean("dataSource"); System.out.println(dataSource)
5.2:c3p0
连接池配置
第一步:同Druid
<!-- c3p0的配置,这里只做了基本的配置,其他的类似最大连接数的可自行配置--> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"> <property name="driverClass" value="com.mysql.jdbc.Driver"></property> <property name="jdbcUrl" value="dbc:mysql://localhost:3308/mybatis"></property> <property name="user" value="root"></property> <property name="password" value="yangshijie"></property> </bean>
第二步:同druid
5.3:加载properties配置文件
上面那样写在配置文件里写死真的好吗?
接下来我们在配置文件里进行配置
- 第一步:开启context命名空间
<context:property-placeholder location="jdbc.properties"/> xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd "
- 第二步:使用context命名空间加载properties文件
<context:property-placeholder location="jdbc.properties"/>
- 小记:properties文件里可能有与系统一样的变量名,设置system-properties-mode=“NEVER”,该变量才能被加载。但是现在这个
location="jdbc.properties"
也只能加载一个文件呀
<context:property-placeholder location="jdbc.properties" system-properties-mode="NEVER"/>
- 下面施加在多个文件的,
location="jdbc.properties,jdbc2.properties"
中间价格逗号就可
<context:property-placeholder location="jdbc.properties,jdbc2.properties" system-properties-mode="NEVER"/>
- 直接加载全部配置文件
location="*.properties,jdbc2.properties"
,但是呢,咱们这样写不太专业
<context:property-placeholder location="*.properties,jdbc2.properties" system-properties-mode="NEVER"/>
- 标准格式(但是它只能读取模块内的配置文件,一些第三方打包好的jar包里的咱们扫描不到)
<context:property-placeholder location="classpath:*.properties" system-properties-mode="NEVER"/>
- 下面是最标注的格式,都能读
location="classpath*:*.properties"
<context:property-placeholder location="classpath*:*.properties" system-properties-mode="NEVER"/>