前面一直都是在管理自己内部创建的对象,这个是管理外部的对象。
这里先使用阿里巴巴的druid来演示。需要在pom.xml中添加如下的依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
现在要在配置文件里面加入一个数据库的bean配置,这里使用的是setter注入,也只能使用setter注入,如下的配置信息就和使用mybatis时配置文件里面的格式一样,mysql8.0以上版本就要加上cj
在主函数里面获取该bean对象尝试输出成功(这可比什么jdbc有用多了)
这里再使用c3p0来演示,先加个依赖
<!--开源的JDBC连接池-->
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
现在要使用c390的数据库的连接池对象同样要去IOC里面添加一个新的bean对象,想上面一样的配置,并把id拿过来
同时还要加上一个mysql的驱动依赖,上面druid不需要是因为druid自带了mysql驱动,
现在根据自己需要导入对应的mysql驱动坐标
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.31</version>
</dependency>
随后可以直接输出获取的bean对象
上面有很多信息也可一看见我们配置的url用户名之类的,我们也可以根据上面的信息再次取到配置文件配置新的东西比如最大连接数量
<property name="maxPoolSize" value="100"/>
以后如果要在spring中导入多种第三方资源都可以像上面一样来做
Spring加载properties文件
对于上面的username,password之类的东西一般都不会直接写在配置文件里面,需要单独一个文件来写,现在配置文件里面如下配置
1.新加一个名为context的命名空间
然后再加多两行后就可以使用一个名为context的命名空间
2.使用context空间加载propertises文件
在此之前需要在resources里面新建一个jdbc.propertises文件,并且按照如下的格式进行配置
location标签标准通用写法
location="classpath:*.properties" //表示读取当前工程文件内的所有properties文件
//不会连外部资源的jar包里面的properties文件也一起加载进来
location="classpath*:*.properties"
//可以连jar包中的properties文件一起加载进来
3.使用属性占位符${}读取propertises文件中的属性
使用属性占位符在bean对象里面对应上相应的名字
现在配置好了之后想要看见里面的属性可以利用别的bean对象带出来
成功输出