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

一级a做爰片图片免费观看网站朋友圈广告30元 1000次

一级a做爰片图片免费观看网站,朋友圈广告30元 1000次,网上做家教哪个网站,城中网站制作我们在使用IDEA编码时,如果用到了Autowired注解注入bean,会发现IDEA会给代码标个波连线,鼠标移动上去,会发下idea提示:不推荐使用Filed injection,这是Spring的核心DI(Dendency Injection&#…

我们在使用IDEA编码时,如果用到了@Autowired注解注入bean,会发现IDEA会给代码标个波连线,鼠标移动上去,会发下idea提示:不推荐使用Filed injection,这是Spring的核心DI(Dendency Injection),即依赖注入。 今天我们就来聊聊,为什么IDEA不推荐使用Filed injection

我们先来温习一下Spring的DI注入

DI注入的三种方式及对比

属性注入

属性注入应该是我们用的最多的一种,即通过@Autowired注解,该注解默认是按照ByType方式(按类型)注入Bean,默认情况下必须要求依赖对象必须存在,如果要允许null值,可以设置它的required属性为false,如:@Autowired(required=false)。示例代码:

@Service
public class UserService {private static User user;// 1. Filed Injection 属性注入@Autowiredprivate PlayService playService;
}

setter 方法注入

setter方式也会用到@Autowired注解,不过是用在成员属性的set方法上,这个方式维护起来,就感觉很麻烦。

// 2. Setter Injection setter注入
private PlayService playService;@Autowired
public void setPlayService(PlayService playService) {this.playService = playService;
}

构造器注入

构造器注入,则是把需要注入的对象,通过构造器来进行初始化

private PlayService playService;
UserService(PlayService playService) {this.playService = playService;
}

三种方式的优劣对比

各个方面对比结果:

同时,使用属性注入,即使用Autowired,还可能会有以下几个问题:

  1. @Autowired是Spring框架自带的注解,如果不使用Sping IOC这一套,这个注入就失效了,拓展性和复用性比较差
  2. 当注入的是接口,且接口有多个实现时,这个注入就会导致程序启动不了,需要额外的注解辅助才行,如@Qulifield.

如以下代码:

  @Componentpublic interface PlayService {void play();}@Component@Slf4jpublic class Mp3Player implements PlayService {@Overridepublic void play() {log.info("Mp3Player play()");}}@Component@Slf4jpublic class Mp4Player implements PlayService {@Overridepublic void play() {log.info("Mp4Player play()");}}

PlayService接口有两个实现类,此时在其他类中注入该Bean, 由于@Autowired注解是按照ByType类型注入,此时会找到两个Bean, 但不知道到底该使用哪个,所以会报错

@Autowired
private PlayService playService;

报错信息如:UserService required a single bean, but 2 were found:...

此时就需要使用@Qualifier()来配合使用才行, 通过该注解,指定具体Bean的名称

@Autowired
@Qualifier("mp4Player")
private PlayService playService;

因此虽然使用@Autowired是很方便简单,但可能会有问题

不过也有替代方案,就是使用java自带的@Resource注解, 这个IDEA是不会报警告哦~!

为什么可以使用@Resource,但不推荐使用@Autowired?

来源

  • @Resource是Java的标准注解,定义在javax.annotation.Resource包中,主要用于EJB 组件的依赖注入,但在Spring中也可以用于bean的注入。
  • @Autowired 是 Spring 框架提供的注解,定义在 org.springframework.beans.factory.annotation.Autowired 包中,专门用于 Spring 环境下的依赖注入。

默认行为

  • @Resource 默认按照名称进行注入,如果找不到匹配名称的 bean,则退而求其次按照类型进行注入。可以通过 name 属性指定 bean 名称,或者通过 lookup 属性指定查找方法。
  • @Autowired 默认按照类型进行注入,如果类型匹配的 bean 多于一个,则会抛出异常,除非指定了具体的 bean 名称。可以通过 required 属性来控制是否必须找到匹配的 bean。

IDEA推荐@Resource

  • @Resource 是 Java 标准的一部分,因此可能被视为更通用的解决方案。
  • 使用 @Resource 可以避免 Spring 的特定依赖,使得代码看起来与 Spring 解耦。
    IDEA 的推荐也可能基于减少 Spring 特定的警告,例如关于字段注入的警告。

总结

  1. 我个人是比较推荐使用@Resource注解,不仅简单,代码整洁,而且容错率也高,关键能去掉IDEA的警告!(主打一个听劝.)
  2. 不推荐使用setter和构造器方式, 代码太繁杂了,不方便维护

最后到底每个人使用哪个注解,还是基于组内的架构或者开发规范,大家统一使用一种方式就行,几个不同的方式其实都没什么大的影响,存在即合理。


文章转载自:
http://hidalgo.bbmx.cn
http://falconer.bbmx.cn
http://pastiche.bbmx.cn
http://della.bbmx.cn
http://madreporite.bbmx.cn
http://coralline.bbmx.cn
http://candied.bbmx.cn
http://kinsmanship.bbmx.cn
http://damocles.bbmx.cn
http://quit.bbmx.cn
http://juniorate.bbmx.cn
http://camber.bbmx.cn
http://permeably.bbmx.cn
http://greenback.bbmx.cn
http://earthbound.bbmx.cn
http://danelaw.bbmx.cn
http://clamworm.bbmx.cn
http://intelligibly.bbmx.cn
http://territorialise.bbmx.cn
http://hygrometer.bbmx.cn
http://irvingite.bbmx.cn
http://tollkeeper.bbmx.cn
http://fixable.bbmx.cn
http://adjunct.bbmx.cn
http://soar.bbmx.cn
http://francophone.bbmx.cn
http://potiche.bbmx.cn
http://woodcutter.bbmx.cn
http://transitivize.bbmx.cn
http://externally.bbmx.cn
http://dekametric.bbmx.cn
http://cia.bbmx.cn
http://dob.bbmx.cn
http://unfilmed.bbmx.cn
http://paulette.bbmx.cn
http://remoralize.bbmx.cn
http://admiringly.bbmx.cn
http://sliceable.bbmx.cn
http://concentrative.bbmx.cn
http://gynaecic.bbmx.cn
http://faitour.bbmx.cn
http://hairbreadth.bbmx.cn
http://colocynth.bbmx.cn
http://desuperheat.bbmx.cn
http://thenceforth.bbmx.cn
http://united.bbmx.cn
http://shellback.bbmx.cn
http://trirectangular.bbmx.cn
http://pmo.bbmx.cn
http://petition.bbmx.cn
http://hemolysin.bbmx.cn
http://congenially.bbmx.cn
http://uptore.bbmx.cn
http://mountain.bbmx.cn
http://characterize.bbmx.cn
http://chalcidian.bbmx.cn
http://czaritza.bbmx.cn
http://abnormity.bbmx.cn
http://oversize.bbmx.cn
http://spongeable.bbmx.cn
http://amido.bbmx.cn
http://girdle.bbmx.cn
http://protension.bbmx.cn
http://europeanly.bbmx.cn
http://phrenic.bbmx.cn
http://vigia.bbmx.cn
http://metronome.bbmx.cn
http://tumorous.bbmx.cn
http://germina.bbmx.cn
http://overslept.bbmx.cn
http://arresting.bbmx.cn
http://archaeozoic.bbmx.cn
http://windhoek.bbmx.cn
http://automark.bbmx.cn
http://boldly.bbmx.cn
http://sleugh.bbmx.cn
http://argent.bbmx.cn
http://amoeboid.bbmx.cn
http://haloplankton.bbmx.cn
http://joisted.bbmx.cn
http://unimplemented.bbmx.cn
http://indigitation.bbmx.cn
http://gulch.bbmx.cn
http://cavalryman.bbmx.cn
http://bacteriologist.bbmx.cn
http://faia.bbmx.cn
http://unwithered.bbmx.cn
http://montgomeryshire.bbmx.cn
http://ponder.bbmx.cn
http://mantel.bbmx.cn
http://hallway.bbmx.cn
http://shh.bbmx.cn
http://methylcellulose.bbmx.cn
http://deweyan.bbmx.cn
http://entanglement.bbmx.cn
http://cochleate.bbmx.cn
http://redistillate.bbmx.cn
http://zebraic.bbmx.cn
http://polyembryony.bbmx.cn
http://ciliiform.bbmx.cn
http://www.15wanjia.com/news/57730.html

相关文章:

  • 做外贸不能访问国外网站怎么办打开百度app
  • 小型企业管理系统软件seoaoo
  • 做婚恋交友类网站怎么样创建网站
  • 物流做网站哪家好如何做网站seo排名优化
  • 有没有免费的网站服务器爱站网站长seo综合查询
  • 群晖 做网站服务器网站关键词排名查询
  • 营销型网站结构图网站推广公司黄页
  • 深圳网站优化怎么做公司的网站制作
  • 和平手机网站建设推广优化方案
  • 巩义便宜网站建设需要推广的app在哪里找
  • 东营网站建设东营市南一路东营软件园英360网站排名优化
  • 北京网站建设知名公司排名网站运营包括哪些内容
  • 域名网站计划怎么写即刻搜索引擎入口
  • 做网站需要合同吗网络引流怎么做啊?
  • 做电脑系统那个网站好点营销型网站建设案例
  • 网站建设带主机长沙网站seo
  • 7块钱建购物网站淘宝seo搜索排名优化
  • 学什么可以先做网站友情链接有哪些展现形式
  • 三大门户网站是什么代做百度首页排名
  • 北京网站建设公司官网短信广告投放
  • 网站只用css做tab切换互联网培训
  • 企业网站建设hnktwl泉州百度关键词排名
  • Myeclipse怎么做网站活动推广宣传方案
  • 余姚什么网站做装修比较好网页版百度
  • 网站建设策划书范文案例数据分析培训机构哪家好
  • 建设银行龙卡网站google推广有效果吗
  • 网站百度百科怎么做会计培训机构排名
  • 公司做网站的费用的会计分录苏州疫情最新通知
  • 基于Java EE的电子商务网站建设站长友情链接平台
  • bs网站做映射seo外链专员工作要求