私は Spring4 と RestWS の統合について poc を行ってきました。私はどちらも初めてで、わずか1週間しか触れていません。私はブログからの指示に従っています。Spring 4 と restWS セットアップ jackson-core/anotation/databind 2 では、JSON <-> Java オブジェクトの正しいメッセージ変換を行うために使用されることを理解しています。org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
メッセージ変換にも使用されます。これらの要件をすべて満たしました。ただし、アプリケーションを起動しようとすると、Bean 作成例外が発生します。スタック
SEVERE: クラス org.springframework.web.context.ContextLoaderListener のリスナー インスタンスにコンテキスト初期化イベントを送信する例外 org.springframework.beans.factory.BeanCreationException: 'regionController' という名前の Bean の作成中にエラーが発生しました: 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springframework.web.servlet.View com.leggmason.lmpamfs.controllers.RegionController.jsonView_i; です。ネストされた例外は org.springframework.beans.factory.BeanCreationException: ServletContext リソース [/WEB-INF/applicationContext.xml] で定義された 'org.springframework.web.servlet.view.json.MappingJacksonJsonView#0' という名前の Bean を作成中にエラーが発生しました: Bean のインスタンス化に失敗しました。ネストされた例外は org.springframework.beans.BeanInstantiationException: Bean クラスをインスタンス化できませんでした [org.springframework.web.servlet.view.json.MappingJacksonJsonView]: コンストラクターが例外をスローしました。 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:292) で org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:1185) で org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) で org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) で org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) で org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) で org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) で org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) で org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:703) で org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760) で org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:482) で org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) で org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) で org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) で org.apache.catalina.core.StandardContext.listenerStart (StandardContext.java:4961) で org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5455) で org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) で org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) で org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) で java.util.concurrent.FutureTask.run (不明なソース) で java.util.concurrent.ThreadPoolExecutor.runWorker で (不明なソース) java.util.concurrent.ThreadPoolExecutor$Worker.run (不明なソース) で java.lang.Thread.run で (不明なソース) 原因: org.springframework.beans.factory.BeanCreationException: フィールドを自動配線できませんでした: プライベート org.springframework.web.servlet.View com.leggmason.lmpamfs.controllers.RegionController.jsonView_i; ネストされた例外は org.springframework.beans.factory.BeanCreationException: ServletContext リソース [/WEB-INF/applicationContext.xml] で定義された 'org.springframework.web.servlet.view.json.MappingJacksonJsonView#0' という名前の Bean を作成中にエラーが発生しました: Bean のインスタンス化に失敗しました。ネストされた例外は org.springframework.beans.BeanInstantiationException: Bean クラスをインスタンス化できませんでした [org.springframework.web.servlet.view.json.MappingJacksonJsonView]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper です org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:508) で org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) で org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289) で ... 22以上 原因: org.springframework.beans.factory.BeanCreationException: ServletContext リソース [/WEB-INF/applicationContext.xml] で定義された 'org.springframework.web.servlet.view.json.MappingJacksonJsonView#0' という名前の Bean を作成中にエラーが発生しました: Bean のインスタンス化に失敗しました。ネストされた例外は org.springframework.beans.BeanInstantiationException: Bean クラスをインスタンス化できませんでした [org.springframework.web.servlet.view.json.MappingJacksonJsonView]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper です org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1076) で org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance (AbstractAutowireCapableBeanFactory.java:1021) で org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:504) で org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) で org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) で org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) で org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) で org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) で org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1017) で org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:960) で org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:858) で org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:480) で ... 24以上 原因: org.springframework.beans.BeanInstantiationException: Bean クラスをインスタンス化できませんでした [org.springframework.web.servlet.view.json.MappingJacksonJsonView]: コンストラクターが例外をスローしました。ネストされた例外は java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper です org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:164) で org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89) で org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1069) で ... 35以上 原因: java.lang.NoClassDefFoundError: org/codehaus/jackson/map/ObjectMapper org.springframework.web.servlet.view.json.MappingJacksonJsonView.(MappingJacksonJsonView.java:65) で sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブメソッド) sun.reflect.NativeConstructorAccessorImpl.newInstance (不明なソース) で sun.reflect.DelegatingConstructorAccessorImpl.newInstance で (不明なソース) java.lang.reflect.Constructor.newInstance (不明なソース) で org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) で ... 37 以上 原因: java.lang.ClassNotFoundException: org.codehaus.jackson.map.ObjectMapper org.apache.catalina.loader.WebappClassLoader.loadClass (WebappClassLoader.java:1702) で org.apache.catalina.loader.WebappClassLoader.loadClass (WebappClassLoader.java:1547) で ... 43 以上
MappingJacksonJsonViewクラスに問題があるようです。ファクトリ ファイルからのフォローが問題の原因になる可能性はありますか?
<bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<property name="contentType" value="text/plain"/>
</bean>
このクラスも交換することになっていますか?これを修正するための支援を提供します。
ありがとう、スヴォジット