这篇文章给大家分享的是有春天关注解解析之@ImportResource的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
一、ImportResource
1.1定义包和类
首先定义一个不会被<代码> ComponentScan> 代码扫描到的包<代码> outpackage> 代码,如下:
在该包内创建一个类:
package outpackage; import org.springframework.stereotype.Service; @ service public class  HelloService1 { ,,,public void method1 (), { ,,,,,,,System.out.println(“类:HelloService1__method: method1"); ,,,} }
1.2定义配置文件
在资源目录添加配置文件<代码> applicationContext。xml 代码>:
& lt; beans xmlns=癶ttp://www.springframework.org/schema/beans" ,,,,,,xmlns: xsi=癶ttp://www.w3.org/2001/XMLSchema-instance" ,,,,,,xmlns:上下文=癶ttp://www.springframework.org/schema/context" ,,,,,,xsi: schemaLocation=? http://www.springframework.org/schema/beans ,,,http://www.springframework.org/schema/beans/spring-beans-3.0.xsd ,,,http://www.springframework.org/schema/context ,,,http://www.springframework.org/schema/context/spring-context-3.0.xsd"比; ,,,& lt; !——,开启注解模式,——比; ,,,& lt;上下文:annotation-config/比; ,,,& lt; !——,基于注解自动注册spring bean ——比; ,,,& lt;上下文:component-scan 基础包=皁utpackage"/比; & lt;/beans>
1.3定义Java配置类
在启动类平级目录或者是子目录添加Java配置类<代码>保证能够被springboot扫描到> 代码,引入xml配置,如下:
package dongshi.daddy; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.ImportResource; @ configuration @ImportResource({“类路径:applicationContext.xml"}) public class  OuterPackageConfiguration { }
1.4测试代码
@SpringBootApplication public class  HelloWorldMainApplication { ,,,public static void main (String [], args), throws URISyntaxException, IOException { ,,,,,,,ConfigurableApplicationContext run =, SpringApplication.run (HelloWorldMainApplication.class, args); ,,,,,,,//,获取通过配置文件定义而被扫描到的类 ,,,,,,,HelloService1 bean =, run.getBean (HelloService1.class); ,,,,,,,System.out.println (bean); ,,,} }
二、运行
2021-05-19 17:52:52.896 信息16232 - - - - - - (,,,,,,,,,主要]o.s.b.w.embedded.tomcat.TomcatWebServer :Tomcat启动> package dongshi.daddy; import org.springframework.context.annotation.Configuration; @ configuration//@ImportResource({“类路径:applicationContext.xml"}) public class  OuterPackageConfiguration { }
然后运行:
2021-05-19 18:01:10.522 信息18260 - - - - - - (,,,,,,,,,主要]dongshi.daddy.HelloWorldMainApplication :开始HelloWorldMainApplication 0.944秒(1.355 JVM运行)
引用>
异常的线程“main"org.springframework.beans.factory。NoSuchBeanDefinitionException:不合格类型的bean & # 39; outpackage.HelloService1& # 39;在org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean可用
, (DefaultListableBeanFactory.java: 351)
,在org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean (DefaultListableBeanFactory.java: 342)
,在org.springframework.context.support.AbstractApplicationContext.getBean (AbstractApplicationContext.java: 1123)
,在dongshi.daddy.HelloWorldMainApplication.main (HelloWorldMainApplication.java: 16)可以看到就找不到对应的bean了。
春天注解解析之@ImportResource的示例分析