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

南京建站方案移动端网页设计尺寸

南京建站方案,移动端网页设计尺寸,大连高新园区住建局官网,小型企业做网站的价格作者 | 磊哥来源 | Java面试真题解析#xff08;ID#xff1a;aimianshi666#xff09;转载请联系授权#xff08;微信ID#xff1a;GG_Stone#xff09;Autowired 和 Resource 都是 Spring/Spring Boot 项目中#xff0c;用来进行依赖注入的注解。它们都提供了将依赖对…作者 | 磊哥来源 | Java面试真题解析IDaimianshi666转载请联系授权微信IDGG_StoneAutowired 和 Resource 都是 Spring/Spring Boot 项目中用来进行依赖注入的注解。它们都提供了将依赖对象注入到当前对象的功能但二者却有众多不同并且这也是常见的面试题之一所以我们今天就来盘它。Autowired 和 Resource 的区别主要体现在以下 5 点来源不同依赖查找的顺序不同支持的参数不同依赖注入的支持不同编译器 IDEA 的提示不同。1.来源不同Autowired 和 Resource 来自不同的“父类”其中 Autowired 是 Spring 定义的注解而 Resource 是 Java 定义的注解它来自于 JSR-250Java 250 规范提案。小知识JSR 是 Java Specification Requests 的缩写意思是“Java 规范提案”。任何人都可以提交 JSR 给 Java 官方但只有最终确定的 JSR才会以 JSR-XXX 的格式发布如 JSR-250而被发布的 JSR 就可以看作是 Java 语言的规范或标准。2.依赖查找顺序不同依赖注入的功能是通过先在 Spring IoC 容器中查找对象再将对象注入引入到当前类中。而查找有分为两种实现按名称byName查找或按类型byType查找其中 Autowired 和 Resource 都是既使用了名称查找又使用了类型查找但二者进行查找的顺序却截然相反。2.1 Autowired 查找顺序Autowired 是先根据类型byType查找如果存在多个 Bean 再根据名称byName进行查找它的具体查找流程如下关于以上流程可以通过查看 Spring 源码中的 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor#postProcessPropertyValues 实现分析得出源码执行流程如下图所示2.2 Resource 查找顺序Resource 是先根据名称查找如果根据名称查找不到再根据类型进行查找它的具体流程如下图所示关于以上流程可以在 Spring 源码的 org.springframework.context.annotation.CommonAnnotationBeanPostProcessor#postProcessPropertyValues 中分析得出。虽然 Resource 是 JSR-250 定义的但是由 Spring 提供了具体实现它的源码实现如下2.3 查找顺序小结由上面的分析可以得出Autowired 先根据类型byType查找如果存在多个Bean再根据名称byName进行查找Resource 先根据名称byName查找如果根据名称查找不到再根据类型byType进行查找。3.支持的参数不同Autowired 和 Resource 在使用时都可以设置参数比如给 Resource 注解设置 name 和 type 参数实现代码如下Resource(name  userinfo, type  UserInfo.class) private UserInfo user;但二者支持的参数以及参数的个数完全不同其中 Autowired 只支持设置一个 required 的参数而 Resource 支持 7 个参数支持的参数如下图所示4.依赖注入的支持不同Autowired 和 Resource 支持依赖注入的用法不同常见依赖注入有以下 3 种实现属性注入构造方法注入Setter 注入这 3 种实现注入的实现代码如下。a) 属性注入RestController public class UserController {// 属性注入Autowiredprivate UserService userService;RequestMapping(/add)public UserInfo add(String username, String password) {return userService.add(username, password);} }b) 构造方法注入RestController public class UserController {// 构造方法注入private UserService userService;Autowiredpublic UserController(UserService userService) {this.userService  userService;}RequestMapping(/add)public UserInfo add(String username, String password) {return userService.add(username, password);} }c) Setter 注入RestController public class UserController {// Setter 注入private UserService userService;Autowiredpublic void setUserService(UserService userService) {this.userService  userService;}RequestMapping(/add)public UserInfo add(String username, String password) {return userService.add(username, password);} }其中Autowired 支持属性注入、构造方法注入和 Setter 注入而 Resource 只支持属性注入和 Setter 注入当使用 Resource 实现构造方法注入时就会提示以下错误5.编译器提示不同当使用 IDEA 专业版在编写依赖注入的代码时如果注入的是 Mapper 对象那么使用 Autowired 编译器会提示报错信息报错内容如下图所示虽然 IDEA 会出现报错信息但程序是可以正常执行的。然后我们再将依赖注入的注解更改为 Resource 就不会出现报错信息了具体实现如下总结Autowired 和 Resource 都是用来实现依赖注入的注解在 Spring/Spring Boot 项目中但二者却有着 5 点不同来源不同Autowired 来自 Spring 框架而 Resource 来自于JavaJSR-250依赖查找的顺序不同Autowired 先根据类型再根据名称查询而 Resource 先根据名称再根据类型查询支持的参数不同Autowired 只支持设置 1 个参数而 Resource 支持设置 7 个参数依赖注入的用法支持不同Autowired 既支持构造方法注入又支持属性注入和 Setter 注入而 Resource 只支持属性注入和 Setter 注入编译器 IDEA 的提示不同当注入 Mapper 对象时使用 Autowired 注解编译器会提示错误而使用 Resource 注解则不会提示错误。参考 鸣谢www.cnblogs.com/felordcn/p/13063802.htmlblog.csdn.net/CPLASF_/article/details/109225213是非审之于己毁誉听之于人得失安之于数。公众号Java面试真题解析面试合集https://gitee.com/mydb/interview往期推荐面试突击77Spring 依赖注入有几种各有什么优缺点面试突击76${} 和 #{} 有什么区别面试突击75SpringBoot 有几种读取配置文件的方法
http://www.zqtcl.cn/news/480869/

相关文章:

  • 用自己网站做淘宝客深圳上市公司一览表
  • 如何用图片文字做网站建设部网站安全事故
  • 订制网站网易企业邮箱怎么修改密码
  • 一小时做网站网上免费设计效果图
  • 网站如何注册域名公司主页填什么
  • 南宁国贸网站建设网站跟网页有什么区别
  • 兰州企业 网站建设短链接在线转换
  • 长沙网上商城网站建设方案导航网站系统
  • 网站更换目录名如何做301跳转网站活泼
  • 化妆品网站网页设计怎样在淘宝网做网站
  • 邢台建站湛江海田网站建设招聘
  • 免费个人网站建站能上传视频吗中国舆情在线网
  • 网站开发项目的心得体会惠州建设厅网站
  • 网站小程序怎么做北京单位网站建设培训
  • 北京市专业网站建设广州安全教育平台登录账号登录入口
  • 广州做网站的价格三个关键词介绍自己
  • 基于工作过程的商务网站建设:网页制作扬州网站建设公元国际
  • wordpress著名网站微信公众号怎么做网站链接
  • 长沙网站建设大概多少钱深圳做网站网络营销公司
  • 融资平台排行榜企业网站seo运营
  • 英文手表网站南昌装修网站建设
  • 网站建设要懂哪些技术甘肃园区网络搭建
  • go做的网站微信跳转链接生成器免费
  • 网站开发中怎么设置快捷键怎样打开用sql做的网站
  • 做餐饮企业网站的费用短视频素材免费下载网站
  • 美食优秀设计网站制作网页网站
  • 提供网站建设教学视频做淘宝美工需要知道的网站
  • 百度云可以做网站吗织梦网站下载
  • 有没有一起做游戏棋牌网站的用wordpress做商城
  • 有没有如何做网站的书常州网站推广公司哪家好