首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
foreach
web
hashset
runtime
substring
eval
golang
dll
char
spring
byte
schema
search
plugins
python2
expression
chat
solr
javascript
sum
数组
get
nodejs
keyword
jar
controller
actionscrip
io
frameworks
netty
cpython
uml
hash
iostream
replace
callback
uri
import
triggers
input
scala
node.js
copy
dockerfile
express
cPlusPlus
integer
metadata
web3
heap
main
merge
usb
bitmap
int
httpclient
dagger
ascii
object
regex
filter
fetch
function
range
vbscript
select
php7
python
settings
emoji
bytecode
process
jsp
yaml
less
hashtable
utf-8
grid
typescript
当前位置:
开发笔记
>
编程语言
> 正文
在Spring3中,配置DataSource的方法有五种。
作者:啦啦郭嘿 | 来源:互联网 | 2023-09-24 14:13
在Spring3中,配置DataSource的方法有五种。第一种:beans.xmlXml代码<beanid"dataSource"class"or
在Spring3中,配置DataSource的方法有五种。
第一种:
beans.xml
Xml代码
<
bean
id
=
"dataSource"
class
=
"org.apache.commons.dbcp.BasicDataSource"
destroy-method
=
"close"
>
<
property
name
=
"driverClassName"
value
=
"com.microsoft.sqlserver.jdbc.SQLServerDriver"
/>
<
property
name
=
"url"
value
=
"jdbc:sqlserver://localhost:1433;DatabaseName=spring"
/>
<
property
name
=
"username"
value
=
"sa"
/>
<
property
name
=
"password"
value
=
"********"
/>
bean
>
第二种:
beans.xml
Xml代码
class
=
"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
>
<
property
name
=
"locations"
value
=
"classpath:jdbc.properties"
>
property
>
bean
>
<
bean
id
=
"dataSource"
class
=
"org.apache.commons.dbcp.BasicDataSource"
destroy-method
=
"close"
>
<
property
name
=
"driverClassName"
value
=
"${jdbc.driverClassName}"
/>
<
property
name
=
"url"
value
=
"${jdbc.url}"
/>
<
property
name
=
"username"
value
=
"${jdbc.username}"
/>
<
property
name
=
"password"
value
=
"${jdbc.password}"
/>
bean
>
在src文件夹里新建一个jdbc.properties文件,里面的内容为如下:
Xml代码
jdbc.driverClassName
=
com
.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc
jdbc.url
=jdbc:sqlserver://localhost:1433;
DatabaseName
=
spring
jdbc.username
=
sa
jdbc.password
=********
第三种
:
beans.xml
Xml代码
<
bean
id
=
"mappings"
class
=
"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
>
<
property
name
=
"locations"
value
=
"classpath:jdbc.properties"
>
property
>
bean
>
<
bean
id
=
"dataSource"
class
=
"org.apache.commons.dbcp.BasicDataSource"
destroy-method
=
"close"
>
<
property
name
=
"driverClassName"
value
=
"${jdbc.driverClassName}"
/>
<
property
name
=
"url"
value
=
"${jdbc.url}"
/>
<
property
name
=
"username"
value
=
"${jdbc.username}"
/>
<
property
name
=
"password"
value
=
"${jdbc.password}"
/>
bean
>
<
context:property-placeholder
location
=
"classpath:jdbc.properties"
/>
在src文件夹里新建一个jdbc.properties文件,里面的内容为如下:
jdbc.driverClassName
=
com
.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc
jdbc.url
=jdbc:sqlserver://localhost:1433;
DatabaseName
=
spring
jdbc.username
=
sa
jdbc.password
=********
其中第二种与第三种类似,只是指定配置文件的方法不一样。
第四种:
beans.xml
Xml代码
<
bean
id
=
"mappings"
class
=
"org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
>
<
property
name
=
"properties"
>
<
value
>
jdbc.driverClassName
=
com
.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc
jdbc.url
=jdbc:sqlserver://localhost:1433;
DatabaseName
=
spring
jdbc.username
=
sa
jdbc.password
=********
value
>
property
>
bean
>
<
bean
id
=
"dataSource"
class
=
"org.apache.commons.dbcp.BasicDataSource"
destroy-method
=
"close"
>
<
property
name
=
"driverClassName"
value
=
"${jdbc.driverClassName}"
/>
<
property
name
=
"url"
value
=
"${jdbc.url}"
/>
<
property
name
=
"username"
value
=
"${jdbc.username}"
/>
<
property
name
=
"password"
value
=
"${jdbc.password}"
/>
bean
>
第五种:
Xml代码
beans.xml
<
bean
id
=
"myDataSource"
class
=
"org.apache.commons.dbcp.BasicDataSource"
destroy-method
=
"close"
p:driverClassName
=
"com.microsoft.sqlserver.jdbc.SQLServerDriver"
p:url
=
"jdbc:sqlserver://localhost:1433;DatabaseName=spring"
p:username
=
"sa"
p:password
=
"********"
/>
再加上命名空间:
Xml代码
xmlns:p
=
"http://www.springframework.org/schema/p"
性能参数要根据实际情况测试得来的数据确定如何配置。
转自:http://www.cppblog.com/fenglin/articles/130494.html
第六种
,最近发在网上看到
pring3中提供了一种简便的方式就是context:property-placeholder/元素
只需要在spring的配置文件里添加一句
Xml代码
<
context:property-placeholder
location
=
"classpath:jdbc.properties"
/>
即可,这里location值为参数配置文件的位置,参数配置文件通常放在src目录下,而参数配置文件的格式跟java通用的参数配置文件相同,即键值对的形式,例如:
#jdbc配置
Java代码
test.jdbc.driverClassName=com.mysql.jdbc.Driver
test.jdbc.url=jdbc:mysql:
//localhost:3306/test
test.jdbc.username=root
test.jdbc.password=root
行内#号后面部分为注释
应用:
1.这样一来就可以为spring配置的bean的属性设置值了,比如spring有一个jdbc数据源的类DriverManagerDataSource
在配置文件里这么定义bean:
Java代码
"testDataSource"
class
=
"org.springframework.jdbc.datasource.DriverManagerDataSource"
>
"driverClassName"
value=
"${test.jdbc.driverClassName}"
/>
"url"
value=
"${test.jdbc.url}"
/>
"username"
value=
"${test.jdbc.username}"
/>
"password"
value=
"${test.jdbc.password}"
/>
2.甚至可以将${ }这种形式的变量用在spring提供的注解当中,为注解的属性提供值
外在化应用参数的配置
在开发企业应用期间,或者在将企业应用部署到生产环境时,应用依赖的很多参数信息往往需要调整,比如LDAP连接、RDBMS JDBC连接信息。对这类信息进行外在化管理显得格外重要。PropertyPlaceholderConfigurer和PropertyOverrideConfigurer对象,它们正是担负着外在化配置应用参数的重任。
元素
PropertyPlaceholderConfigurer实现了BeanFactoryPostProcessor接口,它能够对
中的属性值进行外在化管理。开发者可以提供单独的属性文件来管理相关属性。比如,存在如下属性文件,摘自userinfo.properties。
Properties代码
db.username=scott
db.password=tiger
如下内容摘自propertyplaceholderconfigurer.xml。正常情况下,在userInfo的定义中不会出现${db.username}、${db.password}等类似信息,这里采用PropertyPlaceholderConfigurer管理username和password属性的取值。DI容器实例化userInfo前,PropertyPlaceholderConfigurer会修改userInfo的元数据信息(
定义),它会用userinfo.properties中db.username对应的scott值替换${db.username}、db.password对应的tiger值替换${db.password}。最终,DI容器在实例化userInfo时,UserInfo便会得到新的属性值,而不是${db.username}、${db.password}等类似信息。
Java代码
"propertyPlaceholderConfigurer"
class
="org.springframework.beans.factory.config.
PropertyPlaceholderConfigurer">
"locations"
>
userinfo.properties
"userInfo"
class
=
"test.UserInfo"
>
"username"
value=
"${db.username}"
/>
"password"
value=
"${db.password}"
/>
通过运行并分析PropertyPlaceholderConfigurerDemo示例应用,开发者能够深入理解PropertyPlaceholderConfigurer。为简化PropertyPlaceholderConfigurer的使用,Spring提供了
元素。下面给出了配置示例,启用它后,开发者便不用配置PropertyPlaceholderConfigurer对象了。
PropertyPlaceholderConfigurer内置的功能非常丰富,如果它未找到${xxx}中定义的xxx键,它还会去JVM系统属性(System.getProperty())和环境变量(System.getenv())中寻找。通过启用systemPropertiesMode和searchSystemEnvironment属性,开发者能够控制这一行为。
spring
xml
sql
server
localhost
database
apache
java
mysql
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
io
解决Mac上无法使用localhost连接mysql的问题
本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ...
[详细]
蜡笔小新 2023-12-13 17:48:58
io
Nginx使用(server参数配置)
本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ...
[详细]
蜡笔小新 2023-12-14 17:08:34
search
恶意软件分析的最佳编程语言及其应用
本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ...
[详细]
蜡笔小新 2023-12-10 18:39:23
io
Java工具类库Hutool介绍及功能概述
本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ...
[详细]
蜡笔小新 2023-12-14 14:29:36
io
树莓派Linux基础(一):查看文件系统的命令行操作
本文介绍了在树莓派上通过SSH服务使用命令行查看文件系统的操作,包括cd命令用于变更目录、pwd命令用于显示当前目录位置、ls命令用于显示文件和目录列表。详细讲解了这些命令的使用方法和注意事项。 ...
[详细]
蜡笔小新 2023-12-14 13:33:39
io
Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ...
[详细]
蜡笔小新 2023-12-14 12:01:13
io
WinPythonHadoop在Win10上安装教程
本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ...
[详细]
蜡笔小新 2023-12-14 11:26:56
io
关于cuowu类的错误提示和使用AdjustmentListener的问题
本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ...
[详细]
蜡笔小新 2023-12-13 22:09:56
io
mysql升级(从5.6.15升级到5.7.15的步骤)
本文介绍了将mysql从5.6.15升级到5.7.15的详细步骤,包括关闭访问、备份旧库、备份权限、配置文件备份、关闭旧数据库、安装二进制、替换配置文件以及启动新数据库等操作。 ...
[详细]
蜡笔小新 2023-12-12 14:45:04
netty
一次上线事故,30岁+的程序员踩坑经验之谈
本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ...
[详细]
蜡笔小新 2023-12-10 17:25:31
io
GBase8s逻辑日志使用情况监控方法及注意事项
本文介绍了使用数据库管理员用户执行onstat -l命令来监控GBase8s数据库的物理日志和逻辑日志的使用情况,并强调了对已使用的逻辑日志是否及时备份的重要性。同时提供了监控方法和注意事项。 ...
[详细]
蜡笔小新 2023-12-10 16:54:45
io
Servlet多用户登录时HttpSession会话信息覆盖问题的解决方案
本文讨论了在Servlet多用户登录时可能出现的HttpSession会话信息覆盖问题,并提供了解决方案。通过分析JSESSIONID的作用机制和编码方式,我们可以得出每个HttpSession对象都是通过客户端发送的唯一JSESSIONID来识别的,因此无需担心会话信息被覆盖的问题。需要注意的是,本文讨论的是多个客户端级别上的多用户登录,而非同一个浏览器级别上的多用户登录。 ...
[详细]
蜡笔小新 2023-12-10 12:00:40
spring
2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ...
[详细]
蜡笔小新 2023-12-09 19:11:31
io
禅道测试管理工具的介绍及搭建方法
本文介绍了禅道作为一款国产开源免费的测试管理工具的特点和功能,并提供了禅道的搭建和调试方法。禅道是一款B/S结构的项目管理工具,可以实现组织管理、后台管理、产品管理、项目管理和测试管理等功能。同时,本文还介绍了其他软件测试相关工具,如功能自动化工具和性能自动化工具,以及白盒测试工具的使用。通过本文的阅读,读者可以了解禅道的基本使用方法和优势,从而更好地进行测试管理工作。 ...
[详细]
蜡笔小新 2023-12-09 19:03:20
io
【Java面试】简单说一下你对序列化和反序列化的理解
Hi,大家好,我是Mic一个工作4年的粉丝,投了很多简历好不容易接到一个互联网公司的面试邀约。在面试第一轮就被干掉了,原因是对主流互联网技术理解太浅了。其中就有一个这样的问题:“简 ...
[详细]
蜡笔小新 2023-10-17 20:49:22
啦啦郭嘿
这个家伙很懒,什么也没留下!
Tags | 热门标签
foreach
web
hashset
runtime
substring
eval
golang
dll
char
spring
byte
schema
search
plugins
python2
expression
chat
solr
javascript
sum
数组
get
nodejs
keyword
jar
controller
actionscrip
io
frameworks
netty
RankList | 热门文章
1
stm32 boot设置
2
runtime关联属性示例
3
oracle的教材,oracle基础入门教材
4
干货来袭!京东亿级流量电商系统JVM模型参数预估方案
5
乌梅功效 解酒抗衰除便秘
6
中国出海秀:暴涨153% 国产游戏在韩7月又占前十半壁江山
7
Spring中的代理FactoryBean的配置文件
8
Android零基础开发
9
《江神子 投真》翻译 原文赏析诗人元王处一
10
新电脑win10换win7,该怎么办?
11
初识Servlet和JSP
12
攻击者|旁路_CPU漏洞详解
13
Spring AOP 的简介与使用
14
虚拟机创建流程libvirt篇(上)
15
SQL优化(一)、sql优化一般步骤
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有