मेरे पास @Autowired फ़ील्ड के साथ @Configurable एनोटेशन के साथ चिह्नित कुछ कक्षाएं हैं और उनमें से कुछ ठीक काम करती हैं, लेकिन अन्य फ़ील्ड्स @Autowired को सही ढंग से नहीं मिलने के कारण NullPointerException को फेंक देते हैं।
मेरा विन्यास इस तरह है
@Configuration
@EnableSpringConfigured
@EnableLoadTimeWeaving(aspectjWeaving = AspectJWeaving.ENABLED)
@EnableAsync(mode = AdviceMode.PROXY, proxyTargetClass = true)
@Import({
...
})
@ComponentScan(
basePackageClasses = {
...
}
)
public class RootConfig implements AsyncConfigurer {
aop.xml:
<!DOCTYPE aspectj PUBLIC "-//AspectJ//DTD//EN" "http://www.eclipse.org/aspectj/dtd/aspectj.dtd">
<aspectj>
<weaver>
<!-- only weave classes in our application-specific packages -->
<include within="aero.geoscan..*"/>
</weaver>
</aspectj>
उत्तर:
उत्तर № 1 के लिए 1वसंत, बुनकर बीन को हाल ही में लोड कर सकता है और इस प्रकार सभी परिशिष्ट वर्गों को संसाधित नहीं कर सकता है। जोड़ने की कोशिश करें @DependsOn("loadTimeWeaver")
आपके @Configuration पर।
और अगर यह जोड़ने में मदद नहीं करता है <weaver options="-verbose -debug -showWeaveInfo">
अपने anop.xml को। यह अतिरिक्त लॉग प्रदान करके समस्या को हल करने में मदद करेगा