当前位置: 首页 > news >正文

狼雨的网站Wordpress跨境电商模板

狼雨的网站,Wordpress跨境电商模板,网站开发专业术语,湘潭哪里做网站 电话我们知道spring boot会通过ComponentScan定义包扫描路径进行业务定义的bean的加载#xff0c;但是对于很多不在此包路径下定义的bean怎么办呢#xff1f;比如其他jar包中定义的。这时候import就发挥作用了#xff0c;通过它也可以实现bean的定义。具体是怎么做的呢#xff…我们知道spring boot会通过ComponentScan定义包扫描路径进行业务定义的bean的加载但是对于很多不在此包路径下定义的bean怎么办呢比如其他jar包中定义的。这时候import就发挥作用了通过它也可以实现bean的定义。具体是怎么做的呢我们先看一下Import这个注解的类 它的value属性方法中明确说明可以是ConfigurationImportSelectorImportBeanDefinitionRegistrar或者其他常规的组件类。下面我们一一举例 我们先和大部分jar包一样定义一个EnableUserConfiguration然后在META-INF/spring.factories中加入配置这样EnableUserConfiguration就会在Spring boot启动时加载。此时它是个空的类后面我们在这个上面展示Import四种应用方式 org.springframework.boot.autoconfigure.EnableAutoConfigurationcom.mall.provider.config.EnableUserConfiguration public class EnableUserConfiguration {} 1Configuration 我们在扫描包路径外定义了一个Configuration配置类 package com.mall.pkgscan1;import com.mall.pkgscan1.bean.ClassInfo; import com.mall.pkgscan1.bean.Student; import com.mall.pkgscan1.bean.UserInfo; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;/*** since 2024/11/28 15:17*/ Configuration public class UserConfiguration {Beanpublic UserInfo userInfo() {return new UserInfo();}BeanConditionalOnBean(ClassInfo.class)public Student student() {class Student1 {}new Student1();return new Student();}Beanpublic ClassInfo classInfo() {return new ClassInfo();} }然后在EnableUserConfiguration上用Import导入此配置类 Import(UserConfiguration.class) public class EnableUserConfiguration {} 这样UserConfiguration中定义的Bean就会被加载了我们直接在调试状态下可以看到使用上下文是可以获取到UserConfiguration中定义的Bean的 2ImportSelector 这种方式我们需要定义一个实现ImportSelector的类然后赋值给Import注解的Value。为了方便展示这里直接在EnableUserConfiguration中定义了一个静态内部类代码如下 Import(EnableUserConfiguration.UserSelector.class) public class EnableUserConfiguration {public static class UserSelector implements ImportSelector {Overridepublic String[] selectImports(AnnotationMetadata importingClassMetadata) {return new String[]{com.mall.pkgscan1.UserConfiguration};}} } 通过selectImports返回的类的全限定名数组就是我们想要Spring去加载的Bean。 (3)ImportBeanDefinitionRegistrar 此方式需要导入类ImportBeanDefinitionRegistrar接口。然后重写它的registerBeanDefinitions方法逻辑自行实现bean定义然后通过注册器进行bean的注册。此种方式可以随意自定义bean的名称 Import(EnableUserConfiguration.UserRegistrar.class) public class EnableUserConfiguration {public static class UserRegistrar implements ImportBeanDefinitionRegistrar {Overridepublic void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {RootBeanDefinition beanDefinition new RootBeanDefinition(UserConfiguration.class);registry.registerBeanDefinition(userConfiguration, beanDefinition);}} } 4导入常规组件类 这种方式最简单但也最局限。 Import({UserInfo.class, ClassInfo.class}) public class EnableUserConfiguration { } 上面代码把UserInfo和ClassInfo这两个普通类加载为Bean。但因为没有直接导入它两的外围类UserConfiguration这个配置类所以不能用它的Bean方法获取而是用对应类获取下方的两种获取方式UserInfo可以获取到bean,但ClassInfo不行
http://www.hkea.cn/news/14448752/

相关文章:

  • 网站优化案例php 自动做网站点击量
  • 河源做网站优化网上商城是什么软件
  • 做网站用什么软件编辑晋江建设局网站
  • 扫码员在哪个网站可以做免费咨询肾病专家
  • 跨境电商东莞网站建设凡科建设网站步骤
  • 著名建筑网站怎么注册国外域名
  • 手把手教做网站柳州网站建设工作室
  • seo网站建设优化wordpress邮件服务
  • 站长之家官网网址宏基陆通工程建设有限公司网站
  • 永久免费做网站appphp网站开发结构
  • 档案信息网站开发利用常州网站制作机构
  • 网站描述怎么写比较好深圳极速网站建设定制
  • 网站开发工程师需要什么技术wordpress主题always
  • 哪些网站可以做网站婚纱摄影网站大全
  • 手表网站欧米茄价格文化馆网站建设意义
  • 有哪些网站免费做推广怎么做钓鱼网站盗取qq
  • 网站域名信息公章在线制作网站
  • 企业网站管理系统课设网络舆情处理公司
  • php学校网站源码广州建网站兴田德润信任
  • 做网站换域名怎么做网站扩展
  • 网站建站服务公司电话免费行情100个软件
  • 单位网站开发合同wordpress删除分类
  • 吐鲁番市建设局网站汕头网站制作哪家好
  • 门户网站管理系统免费推广的预期效果
  • 织梦首饰网站模板wordpress插件页面好卡_
  • 网站设计个人手机怎样用网站做成软件
  • 阜阳市建设局网站如何开展外贸网络营销
  • 怎样做网站静安网站开发
  • 中海外城市建设有限公司网站深圳市住房与建设局招聘
  • 统计 网站关键字 布局快速做效果图的网站叫什么区别