Reputation: 53
here is my exception:
2015-06-29 09:27:58 [INFO]-[main]-[org.hibernate.impl.SessionFactoryImpl.close(887)]- closing
2015-06-29 09:27:58 [ERROR]-[main]-[org.springframework.web.context.ContextLoader.initWebApplicationContext(308)]- Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'subjectCcyDao' defined in file [D:\apache-tomcat-6.0.37\wtpwebapps\iEBP4JLSI-SETTLE\WEB-INF\classes\config\applicationContext-sys.xml]: Initialization of bean failed; nested exception is java.lang.IllegalArgumentException: Class must not be null
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:385)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:284)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
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:497)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.IllegalArgumentException: Class must not be null
at org.springframework.util.Assert.notNull(Assert.java:112)
at org.springframework.util.ReflectionUtils.findMethod(ReflectionUtils.java:150)
at org.springframework.core.BridgeMethodResolver.searchForMatch(BridgeMethodResolver.java:211)
at org.springframework.core.BridgeMethodResolver.findGenericDeclaration(BridgeMethodResolver.java:149)
at org.springframework.core.BridgeMethodResolver.isBridgeMethodFor(BridgeMethodResolver.java:136)
at org.springframework.core.BridgeMethodResolver.searchCandidates(BridgeMethodResolver.java:104)
at org.springframework.core.BridgeMethodResolver.findBridgedMethod(BridgeMethodResolver.java:78)
at org.springframework.core.annotation.AnnotationUtils.getAnnotation(AnnotationUtils.java:100)
at org.springframework.core.annotation.AnnotationUtils.findAnnotation(AnnotationUtils.java:122)
at org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor.isAuthzAnnotationPresent(AuthorizationAttributeSourceAdvisor.java:107)
at org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor.matches(AuthorizationAttributeSourceAdvisor.java:84)
at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:226)
at org.springframework.aop.support.AopUtils.canApply(AopUtils.java:263)
at org.springframework.aop.support.AopUtils.findAdvisorsThatCanApply(AopUtils.java:295)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findAdvisorsThatCanApply(AbstractAdvisorAutoProxyCreator.java:117)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors(AbstractAdvisorAutoProxyCreator.java:87)
at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.getAdvicesAndAdvisorsForBean(AbstractAdvisorAutoProxyCreator.java:68)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:359)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:322)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:407)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1461)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
... 26 more
But,this problem seems only occurred in my computer,the project goes well in my colleague's computer. This is my xml file:
<bean id="subjectCcyDao" class="com.infohold.bdrp.sys.dao.impl.SubjectCcyDaoImpl" >
<constructor-arg value="com.infohold.bdrp.sys.model.SubjectCcy" />
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="subjectCcyManager" class="com.infohold.bdrp.sys.service.impl.SubjectCcyManagerImpl">
<constructor-arg ref="subjectCcyDao" />
<property name="subjectCcyDao" ref="subjectCcyDao" />
</bean>
<bean id="subjecCcyAction" class="com.infohold.bdrp.sys.action.SubjecCcyAction" parent="baseAction" scope="prototype">
<property name="subjectCcyManager" ref="subjectCcyManager" />
<property name="subjectDictManager" ref="subjectDictManager" />
</bean>
When I comment out this xml,the error missed.But i still can't find out the error. I google this problem all day long and can't find the answer.So,can anyone tell me the reason?Thank you.
Upvotes: 2
Views: 6818
Reputation: 1130
EDIT (2016/02/22): I confirm that in my case this issue has been solved by migrating to Spring 3.1.4
I have no clean solution, but have some clues.
This error started to happen when I switched from Java 1.7.0_75 to Java 1.8.0_74. I suspect it has something to do with changes in a reflections implementation coming with Java 8.
We use Spring 3.1.3 and I believe this issue might be fixed in 3.1.4 according to this - https://jira.spring.io/browse/SPR-9330
When I explored the stacktrace I noticed this error occurs when the Spring Security tries to find @Secured
annotations in your code. This can be disabled (if you don't really need it) by setting secured-annotations
to disabled
, e.g.:
<security:global-method-security secured-annotations="disabled" />
Upvotes: 2
Reputation: 3883
Are you sure that the class name has the correct spelling?
class="com.infohold.bdrp.sys.action.SubjecCcyAction"
Should that be
class="com.infohold.bdrp.sys.action.SubjectCcyAction"
That is 'Subject' with a 't', like the others.
Upvotes: 0
Reputation: 501
if you are using spring integration you have to create setter method of that class object and configure in application context.xml file
Upvotes: 0