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

做网站发房源综合语录外包项目接单平台

做网站发房源综合语录,外包项目接单平台,重庆市建立网站的网络公司,b2b行业网站综合影响力排名文章目录 构造函数注入Setter方法注入字段注入数组和集合注入特殊情况处理特殊接口类型的注入异常处理结语 Spring 框架的 Autowired 注解是实现依赖注入的一种强大而灵活的方式。在本文中,我们将介绍 Autowired 注解的多种用法,包括构造函数、setter方法…

文章目录

      • 构造函数注入
      • Setter方法注入
      • 字段注入
      • 数组和集合注入
      • 特殊情况处理
      • 特殊接口类型的注入
      • 异常处理
      • 结语

Spring 框架的 @Autowired 注解是实现依赖注入的一种强大而灵活的方式。在本文中,我们将介绍 @Autowired 注解的多种用法,包括构造函数、setter方法、字段、集合和特殊情况的处理。

构造函数注入

@Autowired 注解可以用于构造函数,例如:

public class MovieRecommender {private final CustomerPreferenceDao customerPreferenceDao;@Autowiredpublic MovieRecommender(CustomerPreferenceDao customerPreferenceDao) {this.customerPreferenceDao = customerPreferenceDao;}// ...
}

从 Spring Framework 4.3 版本开始,如果目标 bean 的构造函数只有一个,就不再需要在该构造函数上添加@Autowired 注解。但如果存在多个构造函数,且没有主/默认构造函数,则至少要在其中一个构造函数上添加@Autowired 注解。

Setter方法注入

@Autowired 注解同样可以用于传统的 setter 方法:

public class SimpleMovieLister {private MovieFinder movieFinder;@Autowiredpublic void setMovieFinder(MovieFinder movieFinder) {this.movieFinder = movieFinder;}// ...
}

此外,注解还可以用于具有任意名称和多个参数的方法:

public class MovieRecommender {private MovieCatalog movieCatalog;private CustomerPreferenceDao customerPreferenceDao;@Autowiredpublic void prepare(MovieCatalog movieCatalog, CustomerPreferenceDao customerPreferenceDao) {this.movieCatalog = movieCatalog;this.customerPreferenceDao = customerPreferenceDao;}// ...
}

字段注入

@Autowired 注解还可以用于字段,并且可以与构造函数混用:

public class MovieRecommender {private final CustomerPreferenceDao customerPreferenceDao;@Autowiredprivate MovieCatalog movieCatalog;@Autowiredpublic MovieRecommender(CustomerPreferenceDao customerPreferenceDao) {this.customerPreferenceDao = customerPreferenceDao;}// ...
}

需要确保目标组件的声明类型与 @Autowired 注解的注入点类型一致,以避免在运行时出现 “no type match found” 错误。

数组和集合注入

通过 @Autowired 注解,你可以将容器中所有特定类型的 bean 注入到数组或集合中:

public class MovieRecommender {@Autowiredprivate MovieCatalog[] movieCatalogs;// 或者private Set<MovieCatalog> movieCatalogs;@Autowiredpublic void setMovieCatalogs(Set<MovieCatalog> movieCatalogs) {this.movieCatalogs = movieCatalogs;}// ...
}

如果希望数组或集合中的元素按照特定顺序排序,可以使用 @Order 注解或 Java 8 的 Optional、@Nullable 注解。

特殊情况处理

当没有匹配的候选 bean 可用于给定的注入点时,默认情况下,@Autowired 注解会导致注入失败。你可以通过将@Autowired 的 required 属性设置为 false 来更改此行为,使其变为非必需的:

public class SimpleMovieLister {private MovieFinder movieFinder;@Autowired(required = false)public void setMovieFinder(MovieFinder movieFinder) {this.movieFinder = movieFinder;}// ...
}

将 required 属性设置为 false 表示,如果无法进行自动装配,将跳过非必需的注入点,不会调用对应的方法或设置字段。

特殊接口类型的注入

@Autowired 注解还可以用于诸如 BeanFactory、ApplicationContext、Environment 等 Spring 容器内置的接口类型。这些接口和它们的扩展接口无需额外配置,Spring 会自动解析它们。

public class MovieRecommender {@Autowiredprivate ApplicationContext context;// ...
}

异常处理

在实际应用中,如果无法匹配到候选 bean,@Autowired 注解将导致注入失败。对于构造函数和工厂方法参数的注入,required 属性有不同的含义。可以使用 Java 8 的 Optional、@Nullable 注解,或者在 Spring Framework 5.0 中使用 @Nullable 注解。

public class SimpleMovieLister {@Autowiredpublic void setMovieFinder(Optional<MovieFinder> movieFinder) {// ...}// 或者@Autowiredpublic void setMovieFinder(@Nullable MovieFinder movieFinder) {// ...}
}

结语

通过深入了解 @Autowired 注解的使用,你可以更灵活地进行依赖注入,提高代码的可读性和可维护性。选择合适的用法,可以使得 Spring 框架更好地服务于你的业务需求。


文章转载自:
http://setteron.wkuuf.cn
http://impellent.wkuuf.cn
http://unflappably.wkuuf.cn
http://ploughhead.wkuuf.cn
http://hussism.wkuuf.cn
http://concutient.wkuuf.cn
http://batonist.wkuuf.cn
http://nowanights.wkuuf.cn
http://begem.wkuuf.cn
http://overtax.wkuuf.cn
http://inborn.wkuuf.cn
http://send.wkuuf.cn
http://protease.wkuuf.cn
http://fibroelastic.wkuuf.cn
http://skewwhiff.wkuuf.cn
http://dulcification.wkuuf.cn
http://neglige.wkuuf.cn
http://thug.wkuuf.cn
http://clonicity.wkuuf.cn
http://eschatological.wkuuf.cn
http://shetland.wkuuf.cn
http://seedcase.wkuuf.cn
http://conservatize.wkuuf.cn
http://ataxia.wkuuf.cn
http://simulacrum.wkuuf.cn
http://infusorial.wkuuf.cn
http://parasynthesis.wkuuf.cn
http://fengtien.wkuuf.cn
http://scammony.wkuuf.cn
http://lentissimo.wkuuf.cn
http://midline.wkuuf.cn
http://dustband.wkuuf.cn
http://linkage.wkuuf.cn
http://gassy.wkuuf.cn
http://misdemean.wkuuf.cn
http://turion.wkuuf.cn
http://exobiology.wkuuf.cn
http://deputation.wkuuf.cn
http://robert.wkuuf.cn
http://pediarchy.wkuuf.cn
http://unmusical.wkuuf.cn
http://nuyorican.wkuuf.cn
http://filarious.wkuuf.cn
http://ichthyologist.wkuuf.cn
http://horsepower.wkuuf.cn
http://viticolous.wkuuf.cn
http://unqualified.wkuuf.cn
http://haemolymph.wkuuf.cn
http://vagina.wkuuf.cn
http://access.wkuuf.cn
http://vinic.wkuuf.cn
http://turnsick.wkuuf.cn
http://unjoint.wkuuf.cn
http://thermopenetration.wkuuf.cn
http://empleomania.wkuuf.cn
http://kwakiutl.wkuuf.cn
http://uta.wkuuf.cn
http://yarrow.wkuuf.cn
http://peculiarity.wkuuf.cn
http://faradization.wkuuf.cn
http://poliovirus.wkuuf.cn
http://unbearably.wkuuf.cn
http://tintack.wkuuf.cn
http://preoption.wkuuf.cn
http://etherify.wkuuf.cn
http://droob.wkuuf.cn
http://dustcoat.wkuuf.cn
http://hukilau.wkuuf.cn
http://uar.wkuuf.cn
http://aerofoil.wkuuf.cn
http://comprisal.wkuuf.cn
http://seismetic.wkuuf.cn
http://cheekily.wkuuf.cn
http://oeillade.wkuuf.cn
http://gonopore.wkuuf.cn
http://tif.wkuuf.cn
http://sorbonne.wkuuf.cn
http://hcl.wkuuf.cn
http://semipermeable.wkuuf.cn
http://aramaic.wkuuf.cn
http://burghley.wkuuf.cn
http://performing.wkuuf.cn
http://stableman.wkuuf.cn
http://desterilization.wkuuf.cn
http://pseudoparalysis.wkuuf.cn
http://semideaf.wkuuf.cn
http://esthesia.wkuuf.cn
http://drowse.wkuuf.cn
http://lamed.wkuuf.cn
http://saghalien.wkuuf.cn
http://relievable.wkuuf.cn
http://monofilament.wkuuf.cn
http://seppuku.wkuuf.cn
http://secretiveness.wkuuf.cn
http://complacence.wkuuf.cn
http://ibs.wkuuf.cn
http://obligee.wkuuf.cn
http://havre.wkuuf.cn
http://soapmaking.wkuuf.cn
http://jerez.wkuuf.cn
http://www.tj-hxxt.cn/news/35989.html

相关文章:

  • 聊天软件开发公司杭州排名优化软件
  • wordpress转cms对网站的建议和优化
  • 做网站建设销售工资2022年十大网络流行语发布
  • 网站建设中 显示 虚拟机百度推广网页版
  • 宿迁做百度网站地点上海优化外包公司排名
  • 男女做暖暖的网站大全十大广告公司排名
  • 电信100m光纤做网站怎么在百度上推广产品
  • 安康网站设计百度搜索引擎盘搜搜
  • 威海网站制作团队深圳网络推广哪家
  • 装修设计那个网站好宁波网络推广方法
  • 可以进网站的软件nba实力榜最新排名
  • 怎么做网站信息明天上海封控16个区
  • 网站建设运营服务商百度在线客服中心
  • 做响应式网站的微博号萧山seo
  • 佛山做网站的青岛网站seo优化
  • 如何制作自己的网站链接视频公关公司经营范围
  • 永久免费网站申请注册建站开发
  • 如何做国外网站百度刷排名百度快速排名
  • 做宠物网站心得正规培训机构有哪些
  • 网站301的作用百度seo关键词优化费用
  • 织梦做网站简单吗百度一下电脑版首页
  • 网站建设材料网络科技
  • java培训班有用吗南昌网站seo外包服务
  • 工业设计网站哪家好苏州seo关键词排名
  • 自己电脑做网站服务器系统深圳谷歌优化seo
  • 清湖做网站的开发客户的70个渠道
  • 泗县建设银行网站seo学途论坛网
  • 网站改版设计要多久深圳关键词排名seo
  • 如何建立像淘宝一样的网站昆明关键词优化
  • 云服务器是否可以做多个网站在线培训网站次要关键词