Spring加载配置(非主配置)的方法

14 篇文章 0 订阅
12 篇文章 0 订阅

注:本文是对前面关于Spring配置的一个总结。

假如现在有一个Java配置类(非主配置类),或者有一个XML配置文件(非主配置文件),要想让Spring去加载该配置,在不同的情况下,应该怎么做呢?

加载一个Java配置类(非主配置类)

Spring程序

主配置是XML配置文件

方法1

显式指定Java配置类:

   <context:annotation-config/>

   <bean class="config.MyConfig3"/>
方法2

设置包自动扫描:

   <context:component-scan base-package="xxx"/>

主配置是Java配置类

方法1

显式指定Java配置类:

@Import({MyConfig3.class})
方法2

设置包自动扫描:

@ComponentScan(basePackages = {"pojo"})

SpringBoot程序

SpringBoot的入口是Java配置(即 @SpringBootApplication 所修饰的类)。

方法1

在主配置类上显式指定Java配置类:

@Import({MyConfig3.class})

方法2

在主配置类上设置包自动扫描:

@ComponentScan(basePackages = {"xxx"})

方法3

在主配置上添加 scanBasePackages 属性,设置包自动扫描:

@SpringBootApplication(scanBasePackages = {"xxx"})

方法4

不设置 @ComponentScan ,也不为 @SpringBootApplication 添加 scanBasePackages 属性,而是把配置类放到主配置类所在的包或其子包下面,即默认的包扫描路径。

注:无论有没有 @Import 注解(比如显式import了一个其它路径上的Java配置类),都不影响默认的包扫描路径。

加载一个XML配置(非主配置文件)

Spring程序

Spring入口是XML配置

方法1

显式指定XML配置文件:

   <import resource="classpath:xxx.xml" />
   <import resource="classpath:yyy.xml" />

Spring入口是Java配置

方法1

显式指定XML配置文件:

@ImportResource("classpath:/xxx.xml")

SpringBoot程序

SpringBoot的入口是Java配置(即 @SpringBootApplication 所修饰的类)。

方法1

在主配置类上显式指定XML配置文件:

@ImportResource("classpath:/xxx.xml")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值