This is the simplest program I can provide – I removed all the other classes actually just to see if it would still cause the same error. Basically I have 2 classes – Test and TestConf(a configuration class). In TestConf, I create a bean for Test and in Test’s main method, I load the configuration class and then pull from the App context, the bean for Test – But I get this error in the stack trace. Here’s the code.
Test:
package net.draconia.test; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; public class Test implements Runnable { public void run() { } public static void main(String[] args) { try(final ConfigurableApplicationContext objContext = new AnnotationConfigApplicationContext(net.draconia.test.conf.TestConf.class)) { ((ConfigurableApplicationContext)(objContext)).registerShutdownHook(); Test objBean = ((Test)(objContext.getBean(Test.class))); new Thread(objBean).start(); } } }
TestConf: package net.draconia.test.conf;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import net.draconia.test.Test; @Configuration public class TestConf { private Test mObjApp = null; @Bean public Test getApp() { return(mObjApp); } }
I also have a POM file if you need to see that but probably not. I have a bunch of other dependencies that I didn’t remove out of that but that should’t affect anything as it’s not complaining about any dependencies.
Basically, it’s been a long time (several years) since I last used Hibernate with spring and never with spring boot which we use at work – and I was running into an issue at work with something else so I was trying to get it to build just in a simple app and adding more into it as I was getting successes but I got this error which I’ve never seen before in the over 10 years I’ve been using Spring. Can someone help me figure out why it’s happening so I can move forward and add back my Bean and DAO classes to get this thing working? I’ll check back in an hour or 2 to see results as it seems I’ve gotten responses that fast in the past. I did look on here first before I posted and nothing seemed to fit.
Thanks!
Advertisement
Answer
I don’t know how to explain it correctly. But as I understand if you return null (null is not an Object and don’t have a class) instead of object spring can not to inject it.
So, if you change your code to this everything will work:
@Bean Test getApp() { return new Test(); }