老师,这个异常怎么解决
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | 15 : 57 : 43 , 254 INFO ClassPathXmlApplicationContext: 578 - Refreshing org.springframework.context.support.ClassPathXmlApplicationContext @58c1670b : startup date [Wed Sep 19 15 : 57 : 43 CST 2018 ]; root of context hierarchy 15 : 57 : 43 , 443 INFO XmlBeanDefinitionReader: 317 - Loading XML bean definitions from class path resource [applicationContext.xml] 15 : 57 : 44 , 666 WARN ClassPathXmlApplicationContext: 546 - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'product' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is org.springframework.expression.spel.SpelEvaluationException: EL1001E:(pos 0 ): Type conversion problem, cannot convert from com.imooc.ioc.demo4.Category to java.lang.String org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'product' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is org.springframework.expression.spel.SpelEvaluationException: EL1001E:(pos 0 ): Type conversion problem, cannot convert from com.imooc.ioc.demo4.Category to java.lang.String at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java: 553 ) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java: 482 ) at org.springframework.beans.factory.support.AbstractBeanFactory$ 1 .getObject(AbstractBeanFactory.java: 306 ) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java: 230 ) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java: 302 ) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java: 197 ) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java: 772 ) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java: 839 ) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java: 538 ) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java: 139 ) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java: 83 ) at com.imooc.ioc.demo4.SpringDemo4.demo3(SpringDemo4.java: 24 ) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java: 62 ) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 43 ) at java.lang.reflect.Method.invoke(Method.java: 498 ) at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java: 389 ) at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java: 115 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$ 6 (TestMethodTestDescriptor.java: 167 ) at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java: 40 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java: 163 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java: 110 ) at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java: 57 ) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$ 3 (HierarchicalTestExecutor.java: 83 ) at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java: 66 ) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java: 77 ) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$ null $ 2 (HierarchicalTestExecutor.java: 92 ) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java: 184 ) at java.util.stream.ReferencePipeline$ 2 $ 1 .accept(ReferencePipeline.java: 175 ) at java.util.Iterator.forEachRemaining(Iterator.java: 116 ) at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java: 1801 ) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java: 481 ) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java: 471 ) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java: 151 ) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java: 174 ) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java: 234 ) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java: 418 ) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$ 3 (HierarchicalTestExecutor.java: 92 ) at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java: 66 ) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java: 77 ) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$ null $ 2 (HierarchicalTestExecutor.java: 92 ) at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java: 184 ) at java.util.stream.ReferencePipeline$ 2 $ 1 .accept(ReferencePipeline.java: 175 ) at java.util.Iterator.forEachRemaining(Iterator.java: 116 ) at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java: 1801 ) at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java: 481 ) at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java: 471 ) at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java: 151 ) at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java: 174 ) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java: 234 ) at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java: 418 ) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$ 3 (HierarchicalTestExecutor.java: 92 ) at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java: 66 ) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java: 77 ) at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java: 51 ) at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java: 43 ) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java: 170 ) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java: 154 ) at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java: 90 ) at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java: 74 ) at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java: 47 ) at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java: 242 ) at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java: 70 ) Caused by: org.springframework.beans.factory.BeanExpressionException: Expression parsing failed; nested exception is org.springframework.expression.spel.SpelEvaluationException: EL1001E:(pos 0 ): Type conversion problem, cannot convert from com.imooc.ioc.demo4.Category to java.lang.String at org.springframework.context.expression.StandardBeanExpressionResolver.evaluate(StandardBeanExpressionResolver.java: 164 ) at org.springframework.beans.factory.support.AbstractBeanFactory.evaluateBeanDefinitionString(AbstractBeanFactory.java: 1413 ) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.doEvaluate(BeanDefinitionValueResolver.java: 255 ) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.evaluate(BeanDefinitionValueResolver.java: 214 ) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java: 186 ) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java: 1481 ) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java: 1226 ) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java: 543 ) ... 62 more Caused by: org.springframework.expression.spel.SpelEvaluationException: EL1001E:(pos 0 ): Type conversion problem, cannot convert from com.imooc.ioc.demo4.Category to java.lang.String at org.springframework.expression.spel.support.StandardTypeConverter.convertValue(StandardTypeConverter.java: 78 ) at org.springframework.expression.common.ExpressionUtils.convertTypedValue(ExpressionUtils.java: 53 ) at org.springframework.expression.spel.standard.SpelExpression.getValue(SpelExpression.java: 301 ) at org.springframework.expression.common.CompositeStringExpression.getValue(CompositeStringExpression.java: 89 ) at org.springframework.expression.common.CompositeStringExpression.getValue(CompositeStringExpression.java: 42 ) at org.springframework.context.expression.StandardBeanExpressionResolver.evaluate(StandardBeanExpressionResolver.java: 161 ) ... 69 more Caused by: org.springframework.core.convert.ConverterNotFoundException: No converter found capable of converting from type [com.imooc.ioc.demo4.Category] to type [java.lang.String] at org.springframework.core.convert.support.GenericConversionService.handleConverterNotFound(GenericConversionService.java: 313 ) at org.springframework.core.convert.support.GenericConversionService.convert(GenericConversionService.java: 195 ) at org.springframework.expression.spel.support.StandardTypeConverter.convertValue(StandardTypeConverter.java: 74 ) ... 74 more Process finished with exit code - 1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | <? 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" xsi:schemaLocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd" > <!--<bean id="userService" class="com.imooc.ioc.demo1.UserServiceImp1">--> <!--</bean>--> <!--<bean id="bean1" class="com.imooc.ioc.demo2.Bean1"/>--> <!--<bean id="bean2" class="com.imooc.ioc.demo2.Bean2Factory" factory-method="createBean2"/>--> <!--<bean id="bean3Factory" class="com.imooc.ioc.demo2.Bean3Factory"/>--> <!--<bean id="bean3" factory-bean="bean3Factory" factory-method="createBean3"/>--> <!----> <!--<bean id="person" class="com.imooc.ioc.demo3.Person" scope="prototype"/>--> <!--<bean id="man" class="com.imooc.ioc.demo3.Man" scope="singleton" init-method="setup" destroy-method="teardown">--> <!--<property name="name" value="张三"/>--> <!--</bean>--> <!--<bean class="com.imooc.ioc.demo3.SpringBeanPostProcessor"/>--> <!--<bean id="userDao" class="com.imooc.ioc.demo3.UserDaoImp1"/>--> < bean id = "user" class = "com.imooc.ioc.demo4.User" > < constructor-arg name = "name" value = "张三" /> < constructor-arg name = "age" value = "23" /> </ bean > <!--<bean id="person" class="com.imooc.ioc.demo4.Person">--> <!--<property name="name" value="李四"/>--> <!--<property name="age" value="23"/>--> <!--<property name="cat" ref="cat"/>--> <!--</bean>--> <!--<bean id="cat" class="com.imooc.ioc.demo4.Cat">--> <!--<property name="name" value="kitty"></property>--> <!--</bean>--> <!--bean的p名称空间的属性注入--> < bean id = "person" class = "com.imooc.ioc.demo4.Person" p:name = "小黄" p:age = "23" p:cat-ref = "cat" > </ bean > < bean id = "cat" class = "com.imooc.ioc.demo4.Cat" p:name = "大黄" > </ bean > <!--bean的SpEL名称空间的属性注入--> < bean id = "category" class = "com.imooc.ioc.demo4.Category" > < property name = "name" value = "#{'服装'}" /> </ bean > < bean id = "product" class = "com.imooc.ioc.demo4.Product" > < property name = "name" value = "#{'男装'}" /> < property name = "price" value = "#{199.00}" /> < property name = "category" value = "#{category}" /> </ bean > </ beans > |
1 2 3 4 5 6 | @Test public void demo3() { ApplicationContext applicationContext = new ClassPathXmlApplicationContext( "applicationContext.xml" ); Product product = (Product) applicationContext.getBean( "product" ); System.out.println(product); } |
3
收起
正在回答 回答被采纳积分+1
1回答
chrismorgen
2018-09-19 17:08:08
建议你学会看报错提示,如下图所示,根据报错提示,你可以根据老师的源码核进行核对,内容指向applicationContext文件和Product类,祝学习愉快~
SSM主流框架入门与综合项目实战2018版
- 参与学习 人
- 提交作业 205 份
- 解答问题 4317 个
Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧