Spring-第三方资源配置管理
【摘要】
✨博客主页:👉不会压弯的小飞侠 ✨欢迎关注:👉点赞👍收藏⭐留言✒ ✨系列专栏:👉spring专栏 ✨如果觉得博主的文章还不错的话,请三连支持一下博主。 ✨欢迎大佬指正,一起学习!一起加油!
...
✨博客主页:👉不会压弯的小飞侠
✨欢迎关注:👉点赞👍收藏⭐留言✒
✨系列专栏:👉spring专栏
✨如果觉得博主的文章还不错的话,请三连支持一下博主。
✨欢迎大佬指正,一起学习!一起加油!
✨druid
✨导入druid坐标
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.16</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
✨配置数据源对象作为Spring管理的Bean
<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/spring"></property>
<property name="username" value="root"></property>
<property name="password" value="root"></property>
</bean>
- 1
- 2
- 3
- 4
- 5
- 6
✨c3p0
✨导入c3p0坐标
<dependency>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.1.2</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
✨配置数据源对象
<bean id="c3p0" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="driverClass" value="com.mysql.jdbc.Driver"></property>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/spring"></property>
<property name="user" value="root"></property>
<property name="password" value="root"></property>
</bean>
- 1
- 2
- 3
- 4
- 5
- 6
✨加载properties
首先在resource资源包下创建jdbc.properties
jdbc.properties:
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/spring
jdbc.username=root
jdbc.password=root
- 1
- 2
- 3
- 4
✨开启context命名空间
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
- 1
- 2
- 3
- 4
- 5
- 6
- 7
✨使用context命名空间,加载指定的properties文件
<context:property-placeholder location="jdbc.properties"></context:property-placeholder>
- 1
✨使用${}读取加载的属性值
<bean id="datasource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="${jdbc.driver}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
✨注意
- 不加载系统属性
<context:property-placeholder location="jdbc.properties" system-properties-mode="NEVER"/>
- 1
- 加载多个properties文件
<context:property-placeholder location="jdbc.properties,msg.properties"/>
- 1
- 加载所有properties文件
<context :property-placeholder location="*.properties" />
- 1
- 加载properties文件标准格式
<context:property-placeholder location="classpath:*.properties" />·
- 1
- 从类路径或jar包中搜索并加载properties文件
<context: property-placeholder location="classpath*: *. properties"/>
- 1
✨容器总结
✨Bean相关
<bean
//bean的Id
id="bookDao"
//bean别名
name="dao bookDaoImpl daoImpl"
//bean类型,静态工厂类,FactoryBean类
class="com.jkj.dao.imp1.BookDaoImpl"
//控制bean的实例数量
scope="singleton"
//生命周期初始化方法
init-method="init"
//生命周期销毁方法
destroy-method="destory"
//自动装配类型
autowire="byType"
//bean工厂方法,应用于静态工厂或实例工厂
factory-method="getInstance"
//实例工厂bean
factory-bean=" com.jkj.factory .BookDaoFactory"
//控制bean延迟加载
lazy-init="true"
/>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
✨依赖注入
<bean id="bookService" class="com.jkj.service.impl.BookServiceImpl">
//构造器注入引用类型
<constructor-arg name="bookDao" ref="bookDao" / >
<constructor-arg name="userDao" ref="userDao" />
//构造器注入简单类型
<constructor-arg name="msg" value="WARN" />
//类型匹配与索引匹配
<constructor-arg type="java.lang,String" index="3" value="WARN" />
//setter注入引用类型
<property name="bookDao" ref="bookDao" / >
<property name="userDao" ref="userDao" / >
//setter注入简单类型
<property name="msg" value="WARN" />
//setter注入集合类型
<property name="names">
//list集合
<list>
//集合注入简单类型
<value>itcast</value>
//集合注入引用类型
<ref bean="dataSource" />
</list>
</ property>
</bean>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
文章来源: blog.csdn.net,作者:不会压弯的小飞侠,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/qq_43514330/article/details/125424576
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)