春天注解解析之@ImportResource的示例分析

  介绍

这篇文章给大家分享的是有春天关注解解析之@ImportResource的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、ImportResource

1.1定义包和类

首先定义一个不会被<代码> ComponentScan> outpackage>

春天注解解析之@ImportResource的示例分析

在该包内创建一个类:

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扫描到> 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的示例分析