applicationContext.xml中,class ref value的使用区别

本文详细解析了Spring框架中applicationContext.xml配置文件的class、ref和value属性的使用方法及区别。通过具体示例,阐述了如何利用class定义bean类型,使用ref引用其他bean,以及value设置基本类型的值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

applicationContext.xml中,class   ref   value的使用区别?

#1.class使用示例
<bean id="***" class="***"></bean>
#2.ref使用示例(ref,意为:引用;当前xml文件中已经存在name对应的id,即可使用ref)
<property name="***" ref="***"/>
#3.value使用示例(value,意为:值;当前xml文件中没有存在name对应的id,即可使用value)
<property name="***" value="***"/>

#三者的使用关系
<bean id=" " class=" ">
		<property name=" " ref=" "/>
 
		<property name=" " value=" "/>
</bean>
  • 本博文为本人学习总结,如有不妥,请大力吐槽,大家共同进步!
`applicationContext.xml` 是Spring框架中用于配置Bean以及相关依赖注入的配置文件。有时候,为了安全起见,我们会将数据库的配置信息如用户名、密码等敏感信息使用jasypt(Java Simplified Encryption)加密。在Spring启动时,通过配置一个Bean来实现加密信息的解密。 以下是一个简单的例子说明如何在 `applicationContext.xml` 中配置解密: ```xml <!-- 导入jasypt加密库 --> <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>版本号</version> </dependency> <!-- 配置jasypt的加密Bean,用于解密 --> <bean id="configurationEncryptor" class="com.github.ulisesbocchio.jasyptspringboot.EncryptablePropertyDetectorBeanPostProcessor"> <!-- 配置jasypt加密算法的属性名前缀 --> <property name="encryptablePropertyDetector" ref="encryptablePropertyDetector" /> </bean> <bean id="encryptablePropertyDetector" class="com.github.ulisesbocchio.jasyptspringboot.EncryptablePropertyDetector"> <!-- 配置jasypt加密算法的属性名前缀 --> <property name="prefix" value="ENC(" /> <property name="suffix" value=")" /> </bean> <!-- 配置数据源,其中的username和password为加密后的内容 --> <bean id="dataSource" class="com.zaxxer.hikari.HikariDataSource"> <property name="username" value="ENC(加密后的用户名)"/> <property name="password" value="ENC(加密后的密码)"/> <!-- 其他配置 --> </bean> ``` 在上面的配置中,`EncryptablePropertyDetectorBeanPostProcessor` 和 `EncryptablePropertyDetector` 的作用是识别以 `ENC(` 开始,并以 `)` 结尾的字符串,并对其进行解密处理。这样在Spring容器启动时,它会自动将配置的加密信息解密成明文,然后应用到相应的Bean中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值