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

龙元建设网站上海装修公司口碑最好的是哪家

龙元建设网站,上海装修公司口碑最好的是哪家,网上购物商城系统er图,精准营销策略都有哪些文章目录1. Autowired和Resource的区别2. 一个接口多个实现类的处理2.1 注入时候报错情况2.2 使用Primary注解处理2.3 使用Qualifer注解处理2.4 根据业务情况动态的决定注入哪个serviceImpl1. Autowired和Resource的区别 Aurowired是根据type来匹配;Resource可以根…

文章目录

  • 1. @Autowired和@Resource的区别
  • 2. 一个接口多个实现类的处理
    • 2.1 注入时候报错情况
    • 2.2 使用@Primary注解处理
    • 2.3 使用@Qualifer注解处理
    • 2.4 根据业务情况动态的决定注入哪个serviceImpl

1. @Autowired和@Resource的区别

  1. @Aurowired是根据type来匹配;@Resource可以根据name和type来匹配,默认是name匹配
  2. @Aurowired是Spring定义的注解,@Resource是JSR250规范里面定义的注解,而Spring对JSR250规范提供了支持。
  3. @Autowired如果需要支持name匹配,就需要配合@Primary或者@Qualifier注解使用来实现

2. 一个接口多个实现类的处理

public interface FileService {void getFile();
}
@Slf4j
@Service
public class FileServiceAImpl implements FileService {@Overridepublic void getFile() {log.info("调用fileServiceAImpl...");}
}
@Slf4j
@Service
public class FileServiceBImpl implements FileService {@Overridepublic void getFile() {log.info("调用fileServiceBImpl...");}
}

2.1 注入时候报错情况

在这里插入图片描述

2.2 使用@Primary注解处理

@Primary表示主要的bean,当存在多个相同类型的Bean的时候,优先使用声明了@Primary的Bean

FileServiceAImpl 类添加@Primary注解:

@Slf4j
@Service
@Primary
public class FileServiceAImpl implements FileService {@Overridepublic void getFile() {log.info("调用fileServiceAImpl...");}
}

在这里插入图片描述

2.3 使用@Qualifer注解处理

@Qualifer的作用类似于条件筛选,它可以根据Bean的名字找到需要装备的目标Bean

@Slf4j
@Service("fileServiceAImpl")
public class FileServiceAImpl implements FileService {@Overridepublic void getFile() {log.info("调用fileServiceAImpl...");}
}
@Slf4j
@Service("fileServiceBImpl")
public class FileServiceBImpl implements FileService {@Overridepublic void getFile() {log.info("调用fileServiceBImpl...");}
}
@Slf4j
@SpringBootTest
class FileServiceTest {@Autowired@Qualifier("fileServiceBImpl")private FileService fileService;@Testvoid getFile() {fileService.getFile();}}

在这里插入图片描述

2.4 根据业务情况动态的决定注入哪个serviceImpl

使用 ApplicationContext的getBean()方法动态指定需要用到的bean

@Slf4j
@SpringBootTest
class FileServiceTest {@Autowiredprivate ApplicationContext context;@Testvoid getFile() {FileService fileService = getFileService(0);fileService.getFile();}/*** 根据业务参数生成需要的bean* @param num 具体的业务参数* @return*/private FileService getFileService(int num){FileService fileService;if(num==1){fileService = context.getBean("fileServiceBImpl",FileService.class);}else {fileService = context.getBean("fileServiceAImpl",FileService.class);}return fileService;}
}

在这里插入图片描述

http://www.yayakq.cn/news/719484/

相关文章:

  • 做网站用属于前端wordpress 注册菜单
  • 什么网站做简历比较好网站运营推广
  • 网站内部服务器错误中企动力做的网站经常打不开
  • 简单的手机网站模板网站建设需要什么编程语言
  • 怎么免费制作网站平台美御品牌推广
  • 白银网站seowordpress 5.0
  • 查建设工程规划许可证在哪个网站wordpress 安装slider
  • 深圳建设局官网站营销网站域名设计
  • 河北网站制作公司西安网站排名推广
  • 东莞外贸企业网站建设网站权重排行
  • 湖北专业网站建设项目建设的背景怎么写
  • 海安建设局网站临沂专业做网站
  • 网站开发需要学习什么广州开展线上教学
  • 做网站网站盈利会怎么样百度优化教程
  • 网站cms是什么意思加工网平台
  • 融媒体建设网站怎么搞爱尔眼科医院集团
  • 网站建设与管理就业岗位 方向诚信网站的申请有几家公司可以做的
  • 网站备案局服务器安全工具
  • 自有服务器可以做网站吗火车头wordpress4.7
  • 网站后期的维护和更新广告推广软文案例
  • 威宁网站建设印刷东莞网站建设技术支持
  • 网站前端切页面时间wordpress 安卓
  • 杭州富阳建设局网站设计公司网站运营
  • 符合seo的网站揭阳专业做网站
  • 颍上网站建设网站开发和网页开发的区别
  • 网站加密怎么查网站做404页面没
  • 小白node怎么做网站电脑怎么把字体导入wordpress
  • 网站建设与维护教学计划外贸平台阿里巴巴补贴政策
  • 网站没有做的关键词有排名网站目录是什么
  • 做外贸怎样打开国外网站上海服装网站建设