Use la variable $ {} para la configuración de parámetros en Spring

Use la variable $ {} para la configuración de parámetros en Spring

Al usar Spring, en algunos casos, en el archivo de configuración, debe usar variables para configurar la información de atributos relacionados con el bean . Por ejemplo, la siguiente conexión de base de datos usa el método $ {} para la configuración, como se muestra a continuación:

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="driverClassName" value="${driver}" />
        <property name="url" value="${url}" />
        <property name="username" value="${username}" />
        <property name="password" value="${password}" />
        <!-- 初始化连接大小 -->
        <property name="initialSize" value="${initialSize}"></property>
        <!-- 连接池最大数量 -->
        <property name="maxActive" value="${maxActive}"></property>
        <!-- 连接池最大空闲 -->
        <property name="maxIdle" value="${maxIdle}"></property>
        <!-- 连接池最小空闲 -->
        <property name="minIdle" value="${minIdle}"></property>
        <!-- 获取连接最大等待时间 -->
        <property name="maxWait" value="${maxWait}"></property>
    </bean>

Entonces, ¿de dónde proviene el valor específico de la variable en el $ {} anterior? Estoy seguro de que muchos amigos tienen las mismas preguntas que yo al principio, pero en realidad es muy sencillo. Hay dos formas de configurarlo:

Método 1: use la inyección de frijoles para introducir archivos de configuración:

<!-- 引入配置文件 -->
<bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath*:jdbc.properties" />
</bean>

Método 2: Spring3 proporciona una forma más sencilla mediante el escaneo automático:

<!-- 配置文件 -->
<context:property-placeholder location="classpath*:jdbc.properties" />

Los dos métodos anteriores pueden cargar el archivo de configuración especificado, y luego, a través de la referencia del símbolo $ {}, puede modificar la variable externamente para cambiar, ¡sin cambiar el valor interno cada vez!

El formato de contenido del archivo jdbc.properties también es muy simple, en forma de pares clave-valor, # indica un comentario, como:

Copiar codigo

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/test?autoReconnect=true
username=root
password=root
#定义初始连接数 
initialSize=5
#定义最大连接数  
maxActive=20
#定义最大空闲  
maxIdle=20
#定义最小空闲  
minIdle=1
#定义最长等待时间  
maxWait=60000

Además, use la variable $ {} para indicar el nombre del archivo a cargar y luego especifique el archivo para cargar la configuración en diferentes entornos.

1. Utilice variables para indicar el nombre del archivo a cargar

<context:property-placeholder location="classpath:${config}_base.properties" file-encoding="UTF-8"/>

2. Establezca el parámetro tomcat JAVA_OPTS, especifique el valor de la variable de configuración cuando se inicie tomcat, dev_base.properties se puede cargar automáticamente cuando se inicia tomcat, de modo que se pueden cargar diferentes archivos de configuración en diferentes entornos sin modificar el nombre del archivo.

set JAVA_OPTS= -Dconfig=dev

La función de -D es establecer los valores de los atributos del sistema; consulte:
https://blog.csdn.net/u012345283/article/details/40823637

La configuración de Windows / Linux JAVA_OPTS puede hacer referencia a:
https://blog.csdn.net/yjxandsp/article/details/53082519

Supongo que te gusta

Origin blog.csdn.net/u011582840/article/details/108060076
Recomendado
Clasificación