在spring配置文件中,如何修改已经配置的bean的属性 5C

问题描述:1、在spring的配置文件中配置一个bean ,例如
图片说明
2、然后我需要在另外一个配置文件中,更改上面这个bean的某一个属性(比如:dataSource),该如何实现呢?
谢谢大神指引,不胜感激

2个回答

你说的这种方式不知道
但是可以用@Profile注解实现切换配置文件

dataSource 就是和你自己创建实例是一样的 你可以随便写很多个 但是要把id改了 id就是这个对象的名字

bianhuacx
bianhuacx 我的意思是这样的,就是说在一个配置文件中已经配置了一个bean,并且对此bean的一些属性进行赋值,然后现在要在另一个配置文件中去改这个bean的那些属性。
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
我在一个项目中看到spring配置文件中的几个bean只有class属性,没有id,怎么回事?

我今天在学习spring时,学到项目中配置文件中,有几个bean,都是只是写了class,并没有指明id,这是怎么回事,这样是错误的,还是针对特殊的功能的某种特殊的写法

spring bean 属性从配置文件读取

我在spring的xml文件中使用这个标签: <context:component-scan base-package="${serverPack}"/> 启动${serverPack}从配置文件中获取,现在启动Tomcat出错.

spring的注解配置中,如何在@Bean方法中获取配置文件的值

最近在新搭建一个小程序,用的是spring4.3.4,基于注解的方式配置spring 但我发现一个问题,在@Configuration的里面,@Value获取的属性不到值, 想可能是生命周期问题,于是参考了spring的官方文档,是使用Environment去获取配置值,到但是我发现Environment在@Bean里面并没有被注入,是空值 代码如下 ``` import java.util.concurrent.Executor; import java.util.concurrent.ThreadPoolExecutor; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.PropertySource; import org.springframework.context.support.PropertySourcesPlaceholderConfigurer; import org.springframework.core.env.Environment; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.stereotype.Component; /** * 基于注解的Spring配置 * * @author Kazz * */ @Configuration @PropertySource("file:config/config.properties") // 引入配置文件 @EnableAsync // 开启异步处理 @EnableScheduling // 开启作业调度 public class ApplicationConfigs { final static private Logger logger = LoggerFactory.getLogger(ApplicationConfigs.class); @Autowired private Environment env; /* // 异步处理的线程池配置-------------------- @Value("${thread.corePoolSize:10}") private int corePoolSizes; @Value("${thread.maxPoolSize:200}") private int maxPoolSize; @Value("${thread.queueCapacity:1000}") private int queueCapacity; @Value("${thread.keepAliveSeconds:60}") private int keepAliveSeconds; // ---------------------------------- @Value("${appid}") private String appId;*/ @Bean // 对配置文件读取的支持 public PropertySourcesPlaceholderConfigurer propertyConfigInDev() { return new PropertySourcesPlaceholderConfigurer(); } @Bean public Executor myExecutor() { int corePoolSize = Integer.parseInt(env.getProperty("thread.corePoolSize")); //这里报空指针异常 int maxPoolSize = Integer.parseInt(env.getProperty("thread.maxPoolSize")); int queueCapacity = Integer.parseInt(env.getProperty("thread.queueCapacity")); int keepAliveSeconds = Integer.parseInt(env.getProperty("thread.keepAliveSeconds")); logger.debug("看看各个线程池参数"); logger.debug("corePoolSizes {}",corePoolSize); logger.debug("keepAliveSeconds {}",keepAliveSeconds); logger.debug("queueCapacity {}",queueCapacity); logger.debug("maxPoolSize {}",maxPoolSize); ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); executor.setCorePoolSize(corePoolSize); executor.setMaxPoolSize(maxPoolSize); executor.setQueueCapacity(queueCapacity); executor.setThreadNamePrefix(""); executor.setKeepAliveSeconds(keepAliveSeconds); executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy()); executor.initialize(); return executor; } } ``` 主函数如下 ``` import org.apache.log4j.xml.DOMConfigurator; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import cn.com.agree.mqconsumer.config.ApplicationConfigs; public class Main { static{ DOMConfigurator.configure("./config/log4j.xml"); //指定日志配置文件 } final static Logger logger = LoggerFactory.getLogger(Main.class); public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ApplicationConfigs.class); context.close(); logger.debug("测试写日志{}","12312321"); } } ``` 请问我这是遗漏了什么东西吗,才会导致@Configuration里的@Autowired Environment无法注入?

spring中的配置文件中的property标签中的ref属性和value属性有什么不同?

请问spring中的配置文件中的property标签中的ref属性和value属性有什么不同?

在spring 配置文件<bean>节点里面怎么加不了<property>属性??

<jee:jndi-lookup id="customerIDAO" jndi-name="com.yidu.idao.CustomerIDAO"></jee:jndi-lookup> <bean id="customerBIZ" class="com.yidu.biz.CustomerBIZ"> <property name=""></property> </bean> <property name=""></property> 在这里节点里面怎么加不了东西啊!

spring手动加载配置文件

维护一个老项目,在本地调试,想手动加载spring配置文件,但属性总是不能成功注入,请各位高手帮忙看一看,一下是配置文件 配置文件1: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd" default-autowire="byName" default-lazy-init="true"> <!-- 属性文件读入 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath*:config/jdbc.properties</value> </list> </property> </bean> <!-- 支持 @Transactional 标记 --> <tx:annotation-driven/> <!-- 支持 @AspectJ 标记--> <aop:aspectj-autoproxy/> <!-- 以AspectJ方式 定义 AOP --> <aop:config proxy-target-class="true"> <aop:advisor pointcut="execution(* com.wind.managerImpl.*Manager*.*(..))" advice-ref="txAdvice"/> </aop:config> <!-- 基本事务定义,使用transactionManager作事务管理,默认get*方法的事务为readonly,其余方法按默认设置. 默认的设置请参考Spring文档事务一章. --> <tx:advice id="txAdvice"> <tx:attributes> <tx:method name="get*" read-only="true"/> <tx:method name="find*" read-only="true"/> <tx:method name="*"/> </tx:attributes> </tx:advice> </beans> 配置文件2: <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans default-autowire="byName" default-lazy-init="true"> <!-- 数据源定义,使用Apache DBCP 连接池 --> <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}"/> <property name="initialSize" value="50"></property> <property name="maxActive" value="100"></property> <property name="maxWait" value="60000"></property> <property name="removeAbandonedTimeout" value="180"></property> <property name="removeAbandoned" value="true"></property> </bean> <!--Hibernate SessionFatory--><!-- org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean --> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="mappingDirectoryLocations"> <list> <value>classpath*:/com/wind/mapping/</value> </list> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect">${hibernate.dialect}</prop> <prop key="hibernate.show_sql">${hibernate.show_sql}</prop> <prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> <prop key="hibernate.cache.use_query_cache">true</prop> </props> </property> </bean> <!--Hibernate TransactionManager--> <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"/> </bean> </beans> 配置文件3: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans default-autowire="byName" default-lazy-init="true"> <!-- 数据访问接口dao --> <bean id="tbSqlDao" class="com.wind.daoImpl.TbSqlDaoImpl" /> <bean id="tbCdqResultfourDao" class="com.wind.daoImpl.TbCdqResultfourDaoImpl" /> <bean id="tbFarmInfoDao" class="com.wind.daoImpl.TbFarmInfoDaoImpl" /> <bean id="tbLogInfoDao" class="com.wind.daoImpl.TbLogInfoDaoImpl" /> <bean id="tbNwpDao" class="com.wind.daoImpl.TbNwpDaoImpl" /> <bean id="tbResultMeanDao" class="com.wind.daoImpl.TbResultMeanDaoImpl" /> <bean id="tbSysInfoDao" class="com.wind.daoImpl.TbSysInfoDaoImpl" /> <bean id="tbSysrunMonitoringDao" class="com.wind.daoImpl.TbSysrunMonitoringDaoImpl" /> <bean id="tbUserDao" class="com.wind.daoImpl.TbUserDaoImpl" /> <bean id="tbUserPrivilegeDao" class="com.wind.daoImpl.TbUserPrivilegeDaoImpl" /> <!-- <bean id="tbWindTowerDao" class="com.wind.daoImpl.TbWindTowerDaoImpl" /> --> <bean id="tbFiveWindTowerDao" class="com.wind.daoImpl.TbFiveWindTowerDaoImpl"/> <bean id="jrFiveGfQxzDao" class="com.wind.daoImpl.JrFiveGfQxzDaoImpl"/> <!-- end --> <!-- 业务类 --> <bean id="tbLineManager" class="com.wind.managerImpl.TbLineManagerImpl"/> <bean id="tbUserManager" class="com.wind.managerImpl.TbUserManagerImpl"/> <bean id="tbConnectorManager" class="com.wind.managerImpl.TbConnectorManagerImpl"/> </beans> 配置文件4: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" "http://www.springframework.org/dtd/spring-beans-2.0.dtd"> <beans> <!-- 定时调度 接口程序 --> <!-- <import resource="classpath:com/wind/connector/quartz/applicationContext-quartz.xml"/> --> </beans> 在运行的类中,我手动加载这四个配置文件如下: ApplicationContext applicationContext = new ClassPathXmlApplicationContext(new String[]{"spring/dataAccessContext-hibernate.xml", "spring/applicationContext-components.xml", "spring/applicationContext.xml", "spring/serviceContext.xml"}); 但实际运行当中,得到的tbConnectorManager始终为null,该类中,tbConnectorManager的set方法是有的,请各位高手帮忙,谢谢了!

Spring和SpringMVC是在哪一步加载的配置文件里面的对象和配置文件名字的疑惑?

简单来说就是部署在tomcat上面的Web项目,然后在使用中,究竟配置文件里的对象(依赖注入这样说也行),那么在使用的时候没见到new创建,虽然猜到应该是通过反射来进行的创建,后面直接使用,但是这些对象是在哪一步,或者说是在Web项目运行的过程中,哪步使用的实例有进行创建这些对象,也许是DispatcherServlet(不知道拼写错误没,并不是自己写的,而是SprignMVC里写好的),或者哪里进行了注入?配置对象文件的xml是否名字固定那样写,比如Spring的Application.xml(应该没写全),这个名字必须取这个名字不能随意的更改,还有SpringMVC配置的servlet。。。。.xml那个配置文件名字也必须那样写并不能随意写?

ssh中spring的配置文件如何配置属性可以在控制台输出hibernate的sql语句?

ssh中spring的配置文件如何配置属性可以在控制台输出hibernate的sql语句? 谢谢 <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"> </property> <property name="url" value="jdbc:mysql://localhost:3306/abc"></property> <property name="username" value="root"></property> <property name="password" value="123"></property> </bean> <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <property name="dataSource"> <ref bean="dataSource" /> </property> <property name="hibernateProperties"> <props> <prop key="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> </props> </property> <property name="mappingResources"> <list> <value>com/fff/dao/TZgxx.hbm.xml</value> <value>com/fff/dao/TGrgzxx.hbm.xml</value></list> </property> </bean>

spring整合配置文件出错

我的spring配置文件: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:c="http://www.springframework.org/schema/c" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd"> <!-- 自动搜索指定包及其子包下的所有Bean类 --> <context:component-scan base-package="com.iflysse.springandmybatis.dao,com.iflysse.springandmybatis.service.impl" /> <!-- 读取属性文件信息,将这些信息设置成Spring配置文件的数据 --> <context:property-placeholder location="classpath:jdbc.properties" /> <!-- 定义数据源Bean,使用C3P0数据源实现 --> <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> <property name="user" value="${jdbc.user}" /> <property name="password" value="${jdbc.password}" /> <property name="driverClass" value="${jdbc.driverClass}" /> <property name="jdbcUrl" value="${jdbc.url}" /> <property name="initialPoolSize" value="10" /> <property name="maxIdleTime" value="100" /> <property name="maxPoolSize" value="200" /> <property name="minPoolSize" value="10" /> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--dataSource属性指定要用到的连接池 --> <property name="dataSource" ref="dataSource" /> <!-- 配置类型别名包 自动扫描实体类的包,将实体类的完全限定名 配置别名为 实体类的简单类名 --> <property name="typeAliasesPackage" value="com.iflysse.springandmybatis.model"></property> <property name="configLocation" value="classpath:mybatis-config.xml" /> </bean> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="basePackage" value="com.iflysse.springandmybatis.dao" /> <!-- 引用上面定义的 sqlSessionFactory --> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property> </bean> <!-- 配置JDBC数据源的局部事务管理器 --> <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean> <!-- 启用事务管理器 --> <tx:annotation-driven transaction-manager="txManager" /> <!-- 配置事务增强处理Bean,指定事务管理器 --> <tx:advice id="txAdvice" transaction-manager="txManager"> <tx:attributes> <tx:method name="*" /> </tx:attributes> </tx:advice> <!-- AOP配置元素 --> <aop:config> <aop:pointcut expression="execution( public * com.iflysse.springandmybatis.service.impl.*.*(..))" id="txPoint" /> <aop:advisor advice-ref="txAdvice" pointcut-ref="txPoint" /> </aop:config> </beans> 报的错误: 九月 18, 2016 12:29:23 下午 org.springframework.test.context.TestContextManager prepareTestInstance 严重: Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@3dbf0f5b] to prepare test instance [com.iflysse.test.TestDamo@37900bbc] java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.context.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:91) at org.springframework.test.context.DefaultTestContext.getApplicationContext(DefaultTestContext.java:74) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:116) at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:82) at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:212) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:199) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:251) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:253) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:216) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:82) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268) at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:60) at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:67) at org.junit.runners.ParentRunner.run(ParentRunner.java:363) at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:162) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

Spring Mock读取配置文件

<p>在Spring3.0中我使用AbstractTransactionalJUnit38SpringContextTests来作为测试类的父类.</p> <p>使用@ContextConfiguration来读取配置文件.</p> <p>我的配置文件在/WEB-INF/config/spring/applicationContext.xml.</p> <p>在web.xml中写</p> <pre name="code" class="xml">&lt;context-param&gt; &lt;param-name&gt;contextConfigLocation&lt;/param-name&gt; &lt;param-value&gt;/WEB-INF/config/spring/applicationContext.xml&lt;/param-value&gt; &lt;/context-param&gt;</pre> <p> 没问题,可以读到.</p> <p>但是在测试类中写</p> <pre name="code" class="java">@ContextConfiguration("/WEB-INF/config/spring/applicationContext.xml")</pre> <p> 就会报错,class path resource [WEB-INF/config/spring/applicationContext.xml] cannot be opened because it does not exist</p> <p>这是因为他是默认从classpath中读配置文件,但是我的配置文件不在classpath下.</p> <p>好,改成这样写</p> <pre name="code" class="java">@ContextConfiguration("file:WebContent/WEB-INF/config/spring/applicationContext.xml")</pre> <p> applicationContext.xml可以读到了.</p> <p>但是我还配置了IBatis的sqlMapClient,要读配置文件/WEB-INF/config/ibatis/SqlMapConfig.xml.</p> <p>原来在Spring的配置文件里,这样写,</p> <pre name="code" class="xml"> &lt;bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean" p:configLocation="/WEB-INF/config/ibatis/SqlMapConfig.xml" p:dataSource-ref="dataSource" /&gt;</pre> <p> 没问题,可以读到,但是@ContextConfiguration里不行,</p> <p>同样是报class path resource [WEB-INF/config/ibatis/SqlMapConfig.xml] cannot be opened because it does not exist.</p> <p>好吧,我再改成</p> <pre name="code" class="xml"> &lt;bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean" p:configLocation="file:WebContent/WEB-INF/config/ibatis/SqlMapConfig.xml" p:dataSource-ref="dataSource" /&gt;</pre> <p> OK,都读的到了,可以进行测试了.</p> <p>但是,正常启动服务器时,读取配置文件时,</p> <p>却报错,java.io.FileNotFoundException: WebContent\WEB-INF\config\ibatis\SqlMapConfig.xml (The system cannot find the path specified).</p> <p>如果写完整路径,即"盘符+路径"是可以读到的,这样明显不现实.</p> <p>发现测试是用org.springframework.test.context.support.AbstractContextLoader来读取配置文件的,难道做过什么优化?</p> <p><span style="color: #ff0000;">所以</span>,我的问题是,我的所有配置文件都没放在classpath下,我该怎么写,才能保证启动服务器和进行测试时都能读的到?</p> <p> </p>

ssm框架整合问题(Spring 和spring mvc配置文件报错)

Spring+springmvc+mybatis +maven 1. 编写applicationContext.xml的时候 报错!![图片说明](https://img-ask.csdn.net/upload/201709/02/1504330389_288929.png)

Spring框架的配置文件中,property标签和其属性都是干嘛用的?

![图片说明](https://img-ask.csdn.net/upload/201604/10/1460259993_186251.png) 上图中框出来的标签和属性代表什么?有何用处,谢谢作答

spring报错,配置文件可能配置的不对,大家来看

我朋友spring爆了个错,大概错误就是如此如此,这般这般。如此这般,这般如此。 一会我去问她要个错误详细信息。 严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'fileOptionServiceCompImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: public com.dhc.system.model.SystemConfig com.dhc.msb.componentImpl.FileOptionServiceCompImpl.sysConfig; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sysConfig' defined in file [D:\guoshou\MSB\target\classes\applicationContext_service.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyException: Invalid property 'previewurl' of bean class [com.dhc.system.model.SystemConfig]: Bean property 'previewurl' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter? at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)

spring注解无法读取配置文件的属性,时间可以读取,求大神帮忙看看

//运用注解读取配置文件 @Component @ComponentScan @Configuration @PropertySource({ "classpath:/info.properties" }) public class PropertiesResolve { private static Logger logger = Logger.getLogger(PropertiesResolve.class.getName()); //把配置文件的属性值直接注解到类的属性里面 @Value("${mongodb.url}") //url static String mongodbUrl; @Value("${mongodb.name}") //name static String mongodbName; @Value("${mongodb.password}") //password static String mongodbPassword; @Bean public static PropertySourcesPlaceholderConfigurer propertyConfigInDev() { return new PropertySourcesPlaceholderConfigurer(); } @Scheduled(cron = "${time1}") public static void test1(){ logger.info("1111111111111111111111111"); System.out.println("mongodbUrl的值: "+mongodbUrl); System.out.println("mongodbName的值: "+mongodbName); System.out.println("mongodbPassword的值: "+mongodbPassword); } //************************************************************************************* @Autowired private static Environment env; @Scheduled(cron = "${time2}") public static void test2(){ logger.info("2222222222222222222222"); System.out.println(env.getProperty("mongodb.url")); System.out.println(env.getProperty("mongodb.name")); System.out.println(env.getProperty("mongodb.password")); } } 配置文件内容: ##mongodbUrl## mongodb.url = 127.0.0.1 ##mongodbName## mongodb.name= xs@tt.cok ##mongodbPassword## mongodb.password= 1245sdsh ##time## time1 = 0/20 * * * * ? time2 = 0/58 * * * * ? test1方法输出: mongodbUrl的值: null mongodbName的值: null mongodbPassword的值: null test2方法直接报错,错误为:java.lang.NullPointerException, 就算是static String mongodbUrl属性去掉static也是一样的错误,求大神帮忙

springMVC项目中,在自定义的Listener中使用Spring容器管理的bean

在网上查看资料,普遍的说法是: 1.在web.xml中先配置spring的监听,再配自定义的监听器 2.小弟的配置web.xml中, 1)<context-param> <param-name>contextConfigLocation</param-name> <!-- 单进程部署 --> <param-value>classpath:spring/spring-main.xml</param-value> </context-param> 2)<listener> <description>spring监听器</description> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> 3)<listener> <description>web应用监听器</description> <listener-class>com.xx.listener.InitListener</listener-class> </listener> 4)<servlet> <description>spring mvc servlet</description> <servlet-name>springMvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <description>spring mvc 配置文件</description> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc/spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> 另外,在自定义监听器中,使用到 @Autowired private XXXService xxxService;这样spring自动注入进来的bean 小弟不才,问题到底出现在哪里?感谢各位大神了

怎么设置spring bean元素的class属性提示类路径?

看了网上很多办法,spring插件也下载了,xsd文件也配置了,但就是没有提示,求大神解答。 eclipse mars 4.5版本

spring bean不写property标签,如何注入其依赖对象?

spring通过set方法实现属性的依赖注入,需要在bean里定义property属性。比如service里定义了dao以及dao的set方法,那么需要在service的bean标签里定义property标签。 问题是service里通常N个(一般几十上百)dao,肯定不能全部写property,事实上系统中也不是这么处理的,实际系统中有两个bean定义文件,一个定义service的bean,一个定义dao的bean,然后service中定义了dao以及dao的set方法,不存在property的定义,那么这种是如何实现的? 原理是什么?

Spring 中对于如classpath: 这类的解析在哪里进行?

今天遇到一个问题,在Spring中声明的自定义Bean中需要注入 一个配置文件 xxx.xml,想用 SpringBean中配置文件注入的方式如:classpath:xxx-ibatis.xml. 查看了spring 对 ibatis 支持中的 SqlMapClientFactoryBean,发现其configLocation 属性其实是个Resource 接口,尝试直接实例化了实现Resource接口的 ClassPathResource、FileSystemResource 等都无法取得正确的文件路径. 那Spring 对 classpath: 的解析在哪里进行? 在spring 配置文件中对SqlMapClientFactoryBean configLocation 属赋的值又是组装成哪个Resource实现类传入? 仅有的 5 分 求解!!! :cry: :o 以哪个Resource实现类传入 会不会跟 启动了哪个 ApplicationContext 有关...

spring-mybatis数据库配置文件读取不了

``` <?xml version="1.0" encoding="UTF-8"?> <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:tx="http://www.springframework.org/schema/tx" xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd"> <context:property-placeholder location="classpath:config.properties" /> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" > <!-- <property name="driverClassName" value="com.mysql.jdbc.Driver" /> --> <!-- <property name="url" value="jdbc:mysql://localhost:3306/test?useUnicode=true&amp;characterEncoding=UTF-8" /> --> <!-- <property name="username" value="root" /> --> <!-- <property name="password" value="root" /> --> <property name="driverClassName" value="${driverClassName}" /> <property name="url" value="${url}" /> <property name="username" value="${username}" /> <property name="password" value="${password}" /> </bean> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mapperLocations" value="org/mydemo/mapper/*.xml"></property> </bean> <bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate"> <constructor-arg ref="sqlSessionFactory" /> </bean> </beans> ``` 把注释解掉他就能正常, 好多人说是因为sqlSessionFactory在context:property-placeholder之前已经加载了 所以driverClassName是空,请问代码该怎么改呢?

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

Linux命令学习神器!命令看不懂直接给你解释!

大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务。 一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么就直接用 man 命令去查看守冗长的帮助手册。这两个都可以实现我们的目标,但有没有更简便的方式呢? 答案是必须有的!今天给大家推荐一款有趣而实用学习神器 — kmdr,让你解锁 Linux 学习新姿势...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

史上最全的 python 基础知识汇总篇,没有比这再全面的了,建议收藏

网友们有福了,小编终于把基础篇的内容全部涉略了一遍,这是一篇关于基础知识的汇总的文章,请朋友们收下,不用客气,不过文章篇幅肯能会有点长,耐心阅读吧爬虫(七十)多进程multiproces...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

新一代神器STM32CubeMonitor介绍、下载、安装和使用教程

关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang最近ST官网悄悄新上线了一款比较强大的工具:STM32CubeMonitor V1.0.0。经过我研究和使用之...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

大学一路走来,学习互联网全靠这几个网站,最终拿下了一把offer

大佬原来都是这样炼成的

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

你期望月薪4万,出门右拐,不送,这几个点,你也就是个初级的水平

先来看几个问题通过注解的方式注入依赖对象,介绍一下你知道的几种方式@Autowired和@Resource有何区别说一下@Autowired查找候选者的...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

立即提问
相关内容推荐