上下文配置不加载Bean并引发空指针异常

时间:2019-01-13 00:19:06

标签: java spring

有没有一种方法可以在java类中加载spring.xml文件并加载所有bean。 例如:

@ContextConfiguration(locations = {"classpath*: spring.xml"})
public class springtest {

@Autowired
private PayloadRequest payloadRequest ;
}

@Component
public class PayloadRequest (){

}

2 个答案:

答案 0 :(得分:0)

您可以使用

@ImportResource("Path to file") this is used for importing xml configuration 
@Import({java classes}) this is used for importing java configuration

以下是官方文档的链接:

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/context/annotation/ImportResource.html

答案 1 :(得分:0)

要将XML配置bean加载到应用程序上下文中,请使用@ImportResource

  

推荐的方法是创建一个单独的配置类以加载此xml bean定义文件。

@Configuration
@ImportResource({"classpath*:applicationContext.xml"})
public class XmlConfiguration {
  }

加载多个配置

@Configuration
@Import({ AppConfigOthers.class }) //loads another JavaConfig
@ImportResource("classpath:/config/spring-web-servlet.xml")
 public class AppConfigCore {
    //...
 }

通过Java代码只需加载main方法

ApplicationContext APPLICATION_CONTEXT = new ClassPathXmlApplicationContext("/spring/context/application-context.xml");