Spring util-namespace下标签相关操作

本文通过一个Java示例程序展示了Spring框架中各种配置方式的应用,包括利用SpEL进行属性赋值、引用不同类型的Bean、从属性文件读取内容等。

java代码

package com.stono.sprtest;

import java.util.List;
import java.util.Map;
import java.util.Set;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class AppBean3 {
    @SuppressWarnings("resource")
    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("appbeans3.xml");
        List<?> list = (List<?>) context.getBean("instruments");
        for (Object object : list) {
            System.out.println(object);
        }
        Elvis elvis = (Elvis) context.getBean("elvis");
        System.out.println(elvis.getName()); // #{'abc'[0]}
        System.out.println(elvis.getName2()); // #{map['b']}
        @SuppressWarnings("unchecked")
        Map<String, ?> map = (Map<String, ?>) context.getBean("map");
        System.out.println(map.get("c"));
        System.out.println(map.get("d")); // 从属性文件中读取内容;
        System.out.println(map.get("e")); // 打出了全部
        System.out.println(map.get("e1"));
        Object x = map.get("f"); // x对象为properties对象;
        System.out.println(x); // 打出了全部
        System.out.println(map.get("f1"));
        Set<?> set = (Set<?>) context.getBean("set");
        System.out.println(set);
        Object prop = context.getBean("prop"); // 获取属性文件对象
        System.out.println(prop); // {stono.amber=Amber, stono.minstrel=Minstrel}
        System.out.println(map.get("g"));// #{set.?[age eq 10]}表达式
        System.out.println(map.get("h"));// #{set.^[age gt 11]}表达式
        System.out.println(map.get("i"));// #{set.$[age gt 11]}表达式
        Object x2 = map.get("j");// #{ .![]}返回ArrayList
        System.out.println(x2);// #{set.![age]}表达式 result:[10, 15, 20, 25, 25];即便只有一个元素,也是返回ArrayList
        System.out.println(map.get("k"));// #{set.?[age gt 10]}表达式
        Object list2 = context.getBean("list2");
        System.out.println(list2);
        System.out.println(context.getBean("pi"));// util:constant标签
        Object ppath = context.getBean("ppath"); // util:property-path标签
        System.out.println(ppath);
        System.out.println(map.get(Math.PI)); //map中key-ref的使用;
    }
}

 

xml代码

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans"
    xmlns:p="http://www.springframework.org/schema/p" xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/util 
        http://www.springframework.org/schema/util/spring-util-4.1.xsd">
    <util:list id="instruments">
        <bean class="com.stono.sprtest.Cymbal"></bean>
        <bean class="com.stono.sprtest.Harmonica"></bean>
        <bean class="com.stono.sprtest.Saxophone"></bean>
    </util:list>
    <bean id="elvis" class="com.stono.sprtest.Elvis">
        <property name="instrument" value="#{instruments[0]}"></property>
        <property name="name" value="#{'abc'[0]}"></property>
        <property name="name2" value="#{map['b']}"></property>
    </bean>
    <util:map id="map">
        <entry key="a" value="a"></entry>
        <entry>
            <key>
                <value>b</value>
            </key>
            <value>b</value>
        </entry>
        <entry key="c" value-ref="instruments"></entry>
        <entry key="d" value="#{prop['stono.amber']}"></entry>
        <entry key="e" value="#{systemEnvironment }"></entry>
        <entry key="e1" value="#{systemEnvironment['USERPROFILE'] }"></entry>
        <entry key="f" value="#{systemProperties}"></entry>
        <entry key="f1" value="#{systemProperties['os.name']}"></entry>
        <entry key="g" value="#{set.?[age eq 10]}"></entry>
        <entry key="h" value="#{set.^[age gt 11]}"></entry>
        <entry key="i" value="#{set.$[age gt 11]}"></entry>
        <entry key="j" value="#{set.![age]}"></entry>
        <entry key="k" value="#{set.?[age gt 10]}"></entry>
        <entry key-ref="pi" value="PI"></entry>
    </util:map>
    <util:set id="set">
        <bean class="com.stono.sprtest.Duke" p:age="10"></bean>
        <bean class="com.stono.sprtest.Duke" p:age="15"></bean>
        <bean class="com.stono.sprtest.Duke" p:age="20"></bean>
        <bean class="com.stono.sprtest.Duke" p:age="25"></bean>
        <bean class="com.stono.sprtest.Duke" p:age="25"></bean>
    </util:set>
    <util:properties id="prop" location="classpath:settings.properties">
    </util:properties>
    <util:list id="list2">
        <bean class="java.lang.Integer">
            <constructor-arg>
                <value>10</value>
            </constructor-arg>
        </bean>
        <bean class="java.lang.String">
            <constructor-arg>
                <value>typography</value>
            </constructor-arg>
        </bean>
        <bean class="java.util.Calendar" factory-method="getInstance"></bean>
    </util:list>
    <util:constant id="pi" static-field="java.lang.Math.PI"/>
    <bean id="duke" class="com.stono.sprtest.Duke" p:age="80"></bean>
    <util:property-path id="ppath" path="duke.age"/>
</beans>

 

转载于:https://www.cnblogs.com/stono/p/4834689.html

E:\jdk17\bin\java.exe "-javaagent:E:\IntelliJ IDEA 2025.1.5.1\lib\idea_rt.jar=51868" -Dfile.encoding=UTF-8 -classpath E:\soft232study\springcloud-student-practice\unit2\unit2Demo2-nacos-basicConfig__wyc\service-config_wyc\target\classes;C:\Users\Administrator\.m2\repository\com\alibaba\cloud\spring-cloud-starter-alibaba-nacos-config\2021.0.1.0\spring-cloud-starter-alibaba-nacos-config-2021.0.1.0.jar;C:\Users\Administrator\.m2\repository\com\alibaba\spring\spring-context-support\1.0.11\spring-context-support-1.0.11.jar;C:\Users\Administrator\.m2\repository\com\alibaba\nacos\nacos-client\1.4.2\nacos-client-1.4.2.jar;C:\Users\Administrator\.m2\repository\com\alibaba\nacos\nacos-common\1.4.2\nacos-common-1.4.2.jar;C:\Users\Administrator\.m2\repository\org\slf4j\slf4j-api\1.7.33\slf4j-api-1.7.33.jar;C:\Users\Administrator\.m2\repository\commons-io\commons-io\2.7\commons-io-2.7.jar;C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpasyncclient\4.1.5\httpasyncclient-4.1.5.jar;C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpcore\4.4.15\httpcore-4.4.15.jar;C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpcore-nio\4.4.15\httpcore-nio-4.4.15.jar;C:\Users\Administrator\.m2\repository\org\apache\httpcomponents\httpclient\4.5.13\httpclient-4.5.13.jar;C:\Users\Administrator\.m2\repository\com\alibaba\nacos\nacos-api\1.4.2\nacos-api-1.4.2.jar;C:\Users\Administrator\.m2\repository\com\google\guava\guava\30.1-jre\guava-30.1-jre.jar;C:\Users\Administrator\.m2\repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;C:\Users\Administrator\.m2\repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;C:\Users\Administrator\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\Administrator\.m2\repository\org\checkerframework\checker-qual\3.5.0\checker-qual-3.5.0.jar;C:\Users\Administrator\.m2\repository\com\google\errorprone\error_prone_annotations\2.3.4\error_prone_annotations-2.3.4.jar;C:\Users\Administrator\.m2\repository\com\google\j2objc\j2objc-annotations\1.3\j2objc-annotations-1.3.jar;C:\Users\Administrator\.m2\repository\commons-codec\commons-codec\1.15\commons-codec-1.15.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.13.1\jackson-core-2.13.1.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.13.1\jackson-databind-2.13.1.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.13.1\jackson-annotations-2.13.1.jar;C:\Users\Administrator\.m2\repository\io\prometheus\simpleclient\0.12.0\simpleclient-0.12.0.jar;C:\Users\Administrator\.m2\repository\io\prometheus\simpleclient_tracer_otel\0.12.0\simpleclient_tracer_otel-0.12.0.jar;C:\Users\Administrator\.m2\repository\io\prometheus\simpleclient_tracer_common\0.12.0\simpleclient_tracer_common-0.12.0.jar;C:\Users\Administrator\.m2\repository\io\prometheus\simpleclient_tracer_otel_agent\0.12.0\simpleclient_tracer_otel_agent-0.12.0.jar;C:\Users\Administrator\.m2\repository\org\yaml\snakeyaml\1.29\snakeyaml-1.29.jar;C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-commons\3.1.1\spring-cloud-commons-3.1.1.jar;C:\Users\Administrator\.m2\repository\org\springframework\security\spring-security-crypto\5.6.1\spring-security-crypto-5.6.1.jar;C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-context\3.1.1\spring-cloud-context-3.1.1.jar;C:\Users\Administrator\.m2\repository\com\alibaba\cloud\spring-cloud-starter-alibaba-nacos-discovery\2021.0.1.0\spring-cloud-starter-alibaba-nacos-discovery-2021.0.1.0.jar;C:\Users\Administrator\.m2\repository\com\alibaba\cloud\spring-cloud-alibaba-commons\2021.0.1.0\spring-cloud-alibaba-commons-2021.0.1.0.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.6.3\spring-boot-starter-web-2.6.3.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter\2.6.3\spring-boot-starter-2.6.3.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot\2.6.3\spring-boot-2.6.3.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.6.3\spring-boot-autoconfigure-2.6.3.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.6.3\spring-boot-starter-logging-2.6.3.jar;C:\Users\Administrator\.m2\repository\ch\qos\logback\logback-classic\1.2.10\logback-classic-1.2.10.jar;C:\Users\Administrator\.m2\repository\ch\qos\logback\logback-core\1.2.10\logback-core-1.2.10.jar;C:\Users\Administrator\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.17.1\log4j-to-slf4j-2.17.1.jar;C:\Users\Administrator\.m2\repository\org\apache\logging\log4j\log4j-api\2.17.1\log4j-api-2.17.1.jar;C:\Users\Administrator\.m2\repository\org\slf4j\jul-to-slf4j\1.7.33\jul-to-slf4j-1.7.33.jar;C:\Users\Administrator\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-core\5.3.15\spring-core-5.3.15.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-jcl\5.3.15\spring-jcl-5.3.15.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.6.3\spring-boot-starter-json-2.6.3.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.13.1\jackson-datatype-jdk8-2.13.1.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.13.1\jackson-datatype-jsr310-2.13.1.jar;C:\Users\Administrator\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.13.1\jackson-module-parameter-names-2.13.1.jar;C:\Users\Administrator\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.6.3\spring-boot-starter-tomcat-2.6.3.jar;C:\Users\Administrator\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.56\tomcat-embed-core-9.0.56.jar;C:\Users\Administrator\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.56\tomcat-embed-el-9.0.56.jar;C:\Users\Administrator\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.56\tomcat-embed-websocket-9.0.56.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-web\5.3.15\spring-web-5.3.15.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-beans\5.3.15\spring-beans-5.3.15.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-webmvc\5.3.15\spring-webmvc-5.3.15.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-aop\5.3.15\spring-aop-5.3.15.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-context\5.3.15\spring-context-5.3.15.jar;C:\Users\Administrator\.m2\repository\org\springframework\spring-expression\5.3.15\spring-expression-5.3.15.jar;C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-starter-bootstrap\3.1.1\spring-cloud-starter-bootstrap-3.1.1.jar;C:\Users\Administrator\.m2\repository\org\springframework\cloud\spring-cloud-starter\3.1.1\spring-cloud-starter-3.1.1.jar;C:\Users\Administrator\.m2\repository\org\springframework\security\spring-security-rsa\1.0.10.RELEASE\spring-security-rsa-1.0.10.RELEASE.jar;C:\Users\Administrator\.m2\repository\org\bouncycastle\bcpkix-jdk15on\1.68\bcpkix-jdk15on-1.68.jar;C:\Users\Administrator\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.68\bcprov-jdk15on-1.68.jar com.xxxy.ServiceConfigApplication . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.6.3) 2025-09-09 19:19:29.169 WARN 14512 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[service-config-wyc] & group[DEFAULT_GROUP] 2025-09-09 19:19:29.173 WARN 14512 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[service-config-wyc.yaml] & group[DEFAULT_GROUP] 2025-09-09 19:19:29.179 INFO 14512 --- [ main] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name='bootstrapProperties-service-config-wyc-dev.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-service-config-wyc.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-service-config-wyc,DEFAULT_GROUP'}] 2025-09-09 19:19:29.181 INFO 14512 --- [ main] com.xxxy.ServiceConfigApplication : The following profiles are active: dev 2025-09-09 19:19:29.454 INFO 14512 --- [ main] o.s.cloud.context.scope.GenericScope : BeanFactory id=13511033-d17e-38a2-b310-f3ecbd55fd54 2025-09-09 19:19:29.602 INFO 14512 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8001 (http) 2025-09-09 19:19:29.608 INFO 14512 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2025-09-09 19:19:29.608 INFO 14512 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.56] 2025-09-09 19:19:29.665 INFO 14512 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2025-09-09 19:19:29.665 INFO 14512 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 475 ms 2025-09-09 19:19:30.908 INFO 14512 --- [ main] o.s.cloud.commons.util.InetUtils : Cannot determine local hostname 2025-09-09 19:19:31.983 INFO 14512 --- [ main] o.s.cloud.commons.util.InetUtils : Cannot determine local hostname 2025-09-09 19:19:32.080 INFO 14512 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8001 (http) with context path '' 2025-09-09 19:19:32.087 INFO 14512 --- [ main] c.a.c.n.registry.NacosServiceRegistry : nacos registry, DEFAULT_GROUP service-config-wyc 169.254.74.42:8001 register finished 2025-09-09 19:19:33.138 INFO 14512 --- [ main] o.s.cloud.commons.util.InetUtils : Cannot determine local hostname 2025-09-09 19:19:33.140 WARN 14512 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scopedTarget.serviceConfigController': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'service.config' in value "${service.config}" 2025-09-09 19:19:33.141 INFO 14512 --- [ main] c.a.c.n.registry.NacosServiceRegistry : De-registering from Nacos Server now... 2025-09-09 19:19:33.143 INFO 14512 --- [ main] c.a.c.n.registry.NacosServiceRegistry : De-registration finished. 2025-09-09 19:19:42.225 INFO 14512 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2025-09-09 19:19:42.232 INFO 14512 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2025-09-09 19:19:42.241 ERROR 14512 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'scopedTarget.serviceConfigController': Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'service.config' in value "${service.config}" at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:405) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1431) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:619) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$1(AbstractBeanFactory.java:374) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.cloud.context.scope.GenericScope$BeanLifecycleWrapper.getBean(GenericScope.java:376) ~[spring-cloud-context-3.1.1.jar:3.1.1] at org.springframework.cloud.context.scope.GenericScope.get(GenericScope.java:179) ~[spring-cloud-context-3.1.1.jar:3.1.1] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:371) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1154) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.cloud.context.scope.refresh.RefreshScope.eagerlyInitialize(RefreshScope.java:125) ~[spring-cloud-context-3.1.1.jar:3.1.1] at org.springframework.cloud.context.scope.refresh.RefreshScope.start(RefreshScope.java:117) ~[spring-cloud-context-3.1.1.jar:3.1.1] at org.springframework.cloud.context.scope.refresh.RefreshScope.onApplicationEvent(RefreshScope.java:112) ~[spring-cloud-context-3.1.1.jar:3.1.1] at org.springframework.cloud.context.scope.refresh.RefreshScope.onApplicationEvent(RefreshScope.java:67) ~[spring-cloud-context-3.1.1.jar:3.1.1] at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:421) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:378) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:938) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.3.jar:2.6.3] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:732) ~[spring-boot-2.6.3.jar:2.6.3] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:414) ~[spring-boot-2.6.3.jar:2.6.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:302) ~[spring-boot-2.6.3.jar:2.6.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1303) ~[spring-boot-2.6.3.jar:2.6.3] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1292) ~[spring-boot-2.6.3.jar:2.6.3] at com.xxxy.ServiceConfigApplication.main(ServiceConfigApplication.java:11) ~[classes/:na] Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'service.config' in value "${service.config}" at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180) ~[spring-core-5.3.15.jar:5.3.15] at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) ~[spring-core-5.3.15.jar:5.3.15] at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239) ~[spring-core-5.3.15.jar:5.3.15] at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210) ~[spring-core-5.3.15.jar:5.3.15] at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:175) ~[spring-context-5.3.15.jar:5.3.15] at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:936) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1330) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1309) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:656) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:639) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) ~[spring-beans-5.3.15.jar:5.3.15] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) ~[spring-beans-5.3.15.jar:5.3.15] ... 27 common frames omitted 2025-09-09 19:19:42.242 WARN 14512 --- [ Thread-12] c.a.nacos.common.notify.NotifyCenter : [NotifyCenter] Start destroying Publisher 2025-09-09 19:19:42.242 WARN 14512 --- [ Thread-1] c.a.n.common.http.HttpClientBeanHolder : [HttpClientBeanHolder] Start destroying common HttpClient 2025-09-09 19:19:42.242 WARN 14512 --- [ Thread-12] c.a.nacos.common.notify.NotifyCenter : [NotifyCenter] Destruction of the end 2025-09-09 19:19:42.242 WARN 14512 --- [ Thread-1] c.a.n.common.http.HttpClientBeanHolder : [HttpClientBeanHolder] Destruction of the end 进程已结束,退出代码为 1
最新发布
09-10
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值