spring framework入门(5):context:property-placeholder 和util:properties

xiaoxiao2021-02-28  80

试验代码:https://download.csdn.net/download/u010476739/11420789

试验条件:

maven

spring framwork 4.2.4.RELEASE

试验目的:

试验<context:property-placeholder />和<util:properties />的使用方法

说明:

    1. <context:property-placeholder />是将外部的properties文件加载到spring的上下文,然后可以使用“${}”去使用,可以应用在注解上或xml文件中

    2. <util:properties />是声明了一个java.util.Properties类型的bean(同类型的还有list、map等),然后可以在装配的时候引用过去(以#{bean名称.key})。需要注意:它也可以像<context:property-placeholder />一样从外部加载

1.pom文件省略

2.代码结构

3.代码

DataSource.java

package springProperty; public class DataSource { private String driver; private String url; private String user; private String pwd; public String getDriver() { return driver; } public void setDriver(String driver) { this.driver = driver; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getUser() { return user; } public void setUser(String user) { this.user = user; } public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } @Override public String toString() { return "DataSource [driver=" + driver + ", url=" + url + ", user=" + user + ", pwd=" + pwd + "]"; } }

JDBCUtil.java

package springProperty; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; @Component public class JDBCUtil { @Value("${jdbc_driverClass}") private String driver; @Value("${jdbc_url}") private String url; @Value("${jdbc_userName}") private String user; @Value("${jdbc_userPassword}") private String pwd; @Override public String toString() { return "driver:" + this.driver + "\r\nurl:" + this.url + "\r\nuser:" + this.user + "\r\npwd:" + this.pwd; } }

App.java

package springProperty; import java.util.Properties; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class App { public static void main(String[] args) { ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); JDBCUtil util = context.getBean(JDBCUtil.class); System.out.println(util); DataSource ds = context.getBean("dataSource", DataSource.class); System.out.println(ds); DataSource ds2 = context.getBean("dataSource2", DataSource.class); System.out.println(ds2); DataSource ds3 = context.getBean("dataSource3", DataSource.class); System.out.println(ds3); } }

4.配置文件

applicationContext.xml

<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" xmlns:util="http://www.springframework.org/schema/util" 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 http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd"> <context:component-scan base-package="springProperty" /> <!-- 用$表达式方式:context:property-placeholder --> <context:property-placeholder location="classpath:mysql.properties" /> <bean id="dataSource" class="springProperty.DataSource"> <property name="driver" value="${jdbc_driverClass}"></property> <property name="url" value="${jdbc_url}"></property> <property name="user" value="${jdbc_userName}"></property> <property name="pwd" value="${jdbc_userPassword}"></property> </bean> <bean id="dataSource2" class="springProperty.DataSource"> <property name="driver" value="#{util.driver}"></property> <property name="url" value="#{util.url}"></property> <property name="user" value="#{util.user}"></property> <property name="pwd" value="#{util.pwd}"></property> </bean> <bean id="dataSource3" class="springProperty.DataSource"> <property name="driver" value="#{util2.driver}"></property> <property name="url" value="#{util2.url}"></property> <property name="user" value="#{util2.user}"></property> <property name="pwd" value="#{util2.pwd}"></property> </bean> <!-- 用#表达式方式:util:properties --> <util:properties id="util" location="classpath:utilprops.properties" /> <util:properties id="util2"> <prop key="driver">util2-driver</prop> <prop key="url">util2-url</prop> <prop key="user">util2-user</prop> <prop key="pwd">util2-pwd</prop> </util:properties> </beans>

mysql.properties

jdbc_driverClass=com.mysql.jdbc.Driver jdbc_url=jdbc:mysql://localhost:3306/tmpdb jdbc_userName=root jdbc_userPassword=root

utilprops.properties

driver=utildriver url=utilurl user=utiluser pwd=utilpwd

5.运行

转载请注明原文地址: https://www.6miu.com/read-35198.html

最新回复(0)