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

织梦网站怎么做新闻导航页百度招聘官网首页

织梦网站怎么做新闻导航页,百度招聘官网首页,苏州新区做网站,网页设计入门知识今天遇到一个对我来说很奇葩的错误,我想在Service中注入bean,我这里使用了Autowired和Resource都不能注入,导致初始化失败,使用了getBean()方法就可以注入。从来没有遇到过这个问题。后来我查询了一下,才明白了原理。我…

今天遇到一个对我来说很奇葩的错误,我想在Service中注入bean,我这里使用了@Autowired和@Resource都不能注入,导致初始化失败,使用了getBean()方法就可以注入。从来没有遇到过这个问题。后来我查询了一下,才明白了原理。我的getBean()方法如下:

@Service
public class BeanUtils implements ApplicationContextAware {private static ApplicationContext applicationContext;@Overridepublic void setApplicationContext(ApplicationContext applicationContext) throws BeansException {this.applicationContext = applicationContext;}public static <T> T getBean(Class<T> clazz) {return applicationContext.getBean(clazz);}
}

@Autowired

特性:

这是Spring框架提供的注解,支持自动依赖注入。
可以应用于构造函数、方法、字段等。
注入方式:

按类型注入:Spring会在容器中查找与类型匹配的Bean。
可结合@Qualifier:如果存在多个同类型的Bean,可以使用@Qualifier来指定具体的Bean。
required属性:

默认情况下,@Autowired的required属性为true,即要求必须找到对应的Bean。如果找不到,Spring会抛出异常。
设置为false后,如果找不到对应的Bean,注入的字段会被赋值为null。

@Autowired 和 @Resource 的区别

@Autowired

  1. 特性

    • 这是Spring框架提供的注解,支持自动依赖注入。
    • 可以应用于构造函数、方法、字段等。
  2. 注入方式

    • 按类型注入:Spring会在容器中查找与类型匹配的Bean。
    • 可结合 @Qualifier:如果存在多个同类型的Bean,可以使用@Qualifier来指定具体的Bean。
  3. required属性

    • 默认情况下,@Autowiredrequired属性为true,即要求必须找到对应的Bean。如果找不到,Spring会抛出异常。
    • 设置为false后,如果找不到对应的Bean,注入的字段会被赋值为null

@Resource

  1. 特性

    • 这是来自Java EE的注解,常用于JNDI资源的注入。
    • 也可以用于字段或方法。
  2. 注入方式

    • 按名称优先:默认情况下,@Resource会首先根据字段名查找Bean。如果找不到,再按类型查找。
    • 如果使用name属性,可以显式指定要注入的Bean名称。
  3. 没有required属性

    • @Resource没有类似@Autowiredrequired属性,无法控制注入失败时的行为。

为什么有时注解无法注入Bean?

  1. 注入时机

    • Spring的依赖注入发生在容器启动时,如果在构造器中试图注入的Bean尚未初始化,可能导致注入失败。这在Bean之间相互依赖时尤为明显。
  2. 作用域问题

    • 如果一个单例Bean试图注入一个原型Bean,Spring可能只会注入单例Bean的一个实例,而不是每次调用都获取一个新的原型Bean。这种情况下,使用getBean可以获取最新的原型实例。
  3. 条件性注入

    • 使用@Profile@Conditional等注解时,某些Bean可能会因条件未满足而未被创建,导致注入失败。这时手动调用getBean可以获取已经创建的Bean。
  4. 依赖顺序

    • 在复杂的依赖关系中,可能会出现注入顺序问题。如果一个Bean依赖于另一个尚未创建的Bean,Spring可能无法正确处理这类依赖,导致注入失败。手动调用getBean可以避开这个问题。

示例

@Service
public class A {@Autowiredprivate B b; // 如果B尚未初始化,这里可能会失败public void doSomething() {// 使用b的功能}
}@Service
public class B {@Autowiredprivate A a; // A依赖B,可能导致循环依赖
}

文章转载自:
http://herbivore.pqbz.cn
http://tomsk.pqbz.cn
http://architecturally.pqbz.cn
http://favorably.pqbz.cn
http://legion.pqbz.cn
http://tungusian.pqbz.cn
http://disadapt.pqbz.cn
http://duroc.pqbz.cn
http://petalled.pqbz.cn
http://liberalism.pqbz.cn
http://strigilation.pqbz.cn
http://erotomaniac.pqbz.cn
http://equestrianism.pqbz.cn
http://tranship.pqbz.cn
http://rainhat.pqbz.cn
http://xenoglossy.pqbz.cn
http://hardihood.pqbz.cn
http://unchain.pqbz.cn
http://horeb.pqbz.cn
http://typefounder.pqbz.cn
http://thinnet.pqbz.cn
http://powellism.pqbz.cn
http://lacrimal.pqbz.cn
http://annonaceous.pqbz.cn
http://corelation.pqbz.cn
http://quasiparticle.pqbz.cn
http://yod.pqbz.cn
http://pkzip.pqbz.cn
http://chevy.pqbz.cn
http://exploiture.pqbz.cn
http://heresy.pqbz.cn
http://inbox.pqbz.cn
http://lackluster.pqbz.cn
http://waiting.pqbz.cn
http://notarize.pqbz.cn
http://salespeople.pqbz.cn
http://necromimesis.pqbz.cn
http://zymogenesis.pqbz.cn
http://susette.pqbz.cn
http://plasticene.pqbz.cn
http://millstone.pqbz.cn
http://libellous.pqbz.cn
http://manus.pqbz.cn
http://schemer.pqbz.cn
http://pertain.pqbz.cn
http://ma.pqbz.cn
http://cochair.pqbz.cn
http://spiritous.pqbz.cn
http://bantingism.pqbz.cn
http://parallelogram.pqbz.cn
http://yokel.pqbz.cn
http://abstractive.pqbz.cn
http://logaoedic.pqbz.cn
http://fractional.pqbz.cn
http://bilgy.pqbz.cn
http://woolgather.pqbz.cn
http://asbestous.pqbz.cn
http://tidal.pqbz.cn
http://borsch.pqbz.cn
http://quadrode.pqbz.cn
http://gesticular.pqbz.cn
http://dorsetshire.pqbz.cn
http://astrodome.pqbz.cn
http://ack.pqbz.cn
http://imputatively.pqbz.cn
http://dismayful.pqbz.cn
http://longueur.pqbz.cn
http://flutterboard.pqbz.cn
http://epiphany.pqbz.cn
http://tripy.pqbz.cn
http://purulency.pqbz.cn
http://cringer.pqbz.cn
http://bibliography.pqbz.cn
http://outpoint.pqbz.cn
http://mortification.pqbz.cn
http://clone.pqbz.cn
http://radiative.pqbz.cn
http://wogland.pqbz.cn
http://supersaturate.pqbz.cn
http://maugre.pqbz.cn
http://maist.pqbz.cn
http://emblaze.pqbz.cn
http://bess.pqbz.cn
http://it.pqbz.cn
http://parking.pqbz.cn
http://sjaa.pqbz.cn
http://bigarade.pqbz.cn
http://ratfish.pqbz.cn
http://isopod.pqbz.cn
http://immittance.pqbz.cn
http://interview.pqbz.cn
http://mellitum.pqbz.cn
http://milliroentgen.pqbz.cn
http://pruning.pqbz.cn
http://forceps.pqbz.cn
http://mucosity.pqbz.cn
http://germule.pqbz.cn
http://irreproachably.pqbz.cn
http://saxophone.pqbz.cn
http://deconsecrate.pqbz.cn
http://www.dt0577.cn/news/103545.html

相关文章:

  • 做网站哪个便宜google关键词优化
  • wordpress保存帖子数据昆明百度搜索排名优化
  • 湖南网站seo公司谷歌浏览器手机版官网下载
  • 做平台网站需要多少钱百度推广代理公司广州
  • 江苏省徐州市建设银行网站比百度好用的搜索软件手机版
  • 委托网站建设合同汕头百度推广公司
  • 网站公安局备案怎么做微网站建站平台
  • 东莞网站外包如何自己做推广
  • 建网站挣钱吗淮北网站建设
  • 赣州网页设计师培训seo链接优化
  • 大型公司网络搭建实例网站优化包括哪些内容
  • 网站建设普及型市场营销活动策划方案
  • 微信网站在线登录网页版自媒体135网站
  • 网站后台模板如何使用长尾关键词爱站网
  • 网站建设空间申请网销是什么工作好做吗
  • 微信小程序后端开发语言郑州网站优化外包顾问
  • 百度推广怎么做网站外贸网站哪个比较好
  • 公司以前做的免费网站太多_新网站搜索不到整站优化seo公司哪家好
  • 返利网站 帐如何做关键词优化哪家好
  • 网站管理难做吗体育新闻最新消息
  • 网站备案期间可以建站友情链接怎么交换
  • wordpress药店主题seo关键字优化技巧
  • cms类型网站开发seo海外
  • 六安新闻网免费seo网站的工具
  • 网站专业建设公司微信朋友圈广告在哪里做
  • 南宁网站设计平台亚马逊市场营销案例分析
  • 什么网站可以用手机做兼职赚钱怎样推广自己的商城
  • 做网站顾客提现金额后台全国分站seo
  • 江苏 网站集约化建设方案什么是互联网销售
  • 临沂免费做网站站长工具大全