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

深圳南山做网站的公司dux主题4.0 wordpress

深圳南山做网站的公司,dux主题4.0 wordpress,如何在个人电脑用源码做网站,企业网站建设商城1. 实例的注入方式首先来看看 Spring 中的实例该如何注入#xff0c;总结起来#xff0c;无非三种#xff1a;属性注入set 方法注入构造方法注入我们分别来看下。1.1 属性注入属性注入是大家最为常见也是使用最多的一种注入方式了#xff0c;代码如下#xff1a;Service p… 1. 实例的注入方式首先来看看 Spring 中的实例该如何注入总结起来无非三种属性注入set 方法注入构造方法注入我们分别来看下。1.1 属性注入属性注入是大家最为常见也是使用最多的一种注入方式了代码如下Service public class BService {AutowiredAService aService;//... }这里是使用 Autowired 注解注入。另外也有 Resource 以及 Inject 等注解都可以实现注入。不过不知道小伙伴们有没有留意过在 IDEA 里边使用属性注入会有一个警告⚠️不推荐属性注入原因我们后面讨论。1.2 set 方法注入set 方法注入太过于臃肿实际上很少使用Service public class BService {AService aService;Autowiredpublic void setaService(AService aService) {this.aService  aService;} }这代码看一眼都觉得难受坚决不用。1.3 构造方法注入构造方法注入方式如下Service public class AService {BService bService;Autowiredpublic AService(BService bService) {this.bService  bService;} }如果类只有一个构造方法那么 Autowired 注解可以省略如果类中有多个构造方法那么需要添加上 Autowired 来明确指定到底使用哪个构造方法。2. 实例注入方式大 PK上面给大家列出来了三种注入方式那么三种注入方式各自有何区别呢结合 Spring 官方文档我们来分析下。松哥翻出了 12 年前的 Spring3.0 的文档https://docs.spring.io/spring-framework/docs/3.0.x/reference/beans.html里边有如下一段话我来简单翻译下意译❝使用构造方法注入还是使用 set 方法注入由于构造方法注入和 set 方法注入可以混合使用因此如果需要强制注入我们可以使用构造方法注入的方式如果是可选注入则我们可以使用 set 方法注入的方式。当然我们在 setter 上使用 Required 注解可以让 set 方法注入也变为强制性注入。Spring 团队通常提倡 setter 注入因为当属性特别多的时候构造方法看起来会特别臃肿特别是当属性是可选的时属性可选意味着没必要通过构造方法注入。Setter 方法注入还有一个好处就是可以使该类的属性可以在以后重新配置或重新注入。一些纯粹主义者喜欢基于构造函数的注入这样意味着所有的属性都被初始化了缺点则是对象变得不太适合重新配置和重新注入。另外在一些特殊的场景下如一个第三方类要注入到 Spring 容器但是该类没有提供 set 方法那么此时你就只能使用构造方法注入了。英文水平有限大概翻译了下。小伙伴们重点看加粗部分也就是说在 Spring3.0 时代官方还是提倡 set 方法注入的。不过从 Spring4.x 开始官方就不推荐这种注入方式了转而推荐构造器注入。我们来看看 Spring4.x 的文档怎么说https://docs.spring.io/spring-framework/docs/4.0.x/spring-framework-reference/htmlsingle/#beans-setter-injection这段内容我就不一一翻译了大家重点看第二段第一句The Spring team generally advocates constructor injection这句话就是说 Spring 团队倡导通过构造方法完成注入。才一个大版本更新Spring 咋就变了呢别急人家也给出用构造方法注入的理由第二段翻译一下大概是这个意思通过构造方法注入的方式能够保证注入的组件不可变并且能够确保需要的依赖不为空。此外构造方法注入的依赖总是能够在返回客户端组件代码的时候保证完全初始化的状态。上面这段话主要说了三件事依赖不可变这个好理解通过构造方法注入依赖在对象创建的时候就要注入依赖一旦对象创建成功以后就只能使用注入的依赖而无法修改了这就是依赖不可变通过 set 方法注入将来还能通过 set 方法修改。依赖不为空通过构造方法注入的时候会自动检查注入的对象是否为空如果为空则注入失败如果不为空才会注入成功。完全初始化由于获取到了依赖对象这个依赖对象是初始化之后的并且调用了要初始化组件的构造方法因此最终拿到的就是完全初始化的对象了。在 Spring3.0 文档中官方说如果构造方法注入的话属性太多可能会让代码变得非常臃肿那么在 4.0 文档中官方对这个说法也做了一些订正如果用构造方法注入的时候参数过多以至于代码过于臃肿那么此时你需要考虑这个类的设计是否合理这个类是否参杂了太多的其他无关功能这个类是否做到了单一职责。❝好吧你说的总是有理这是构造方法注入和 set 方法注入的问题那么上面我们还提到不推荐属性注入这又是咋回事呢属性注入其实有一个显而易见的缺点那就是对于 IOC 容器以外的环境除了使用反射来提供它需要的依赖之外无法复用该实现类。因为该类没有提供该属性的 set 方法或者相应的构造方法来完成该属性的初始化。换言之要是使用属性注入那么你这个类就只能在 IOC 容器中使用要是想自己 new 一下这个类的对象那么相关的依赖无法完成注入。以上分析都是根据 Spring 官方文档得来日常开发应该还是属性注入较多这个咱们不必纠结代码该咋写还咋写Spring 官方的态度了解一下即可当然如果项目允许也不妨试试 Spring 推荐的代码规范。3. 小结好啦今天就和小伙伴们随便扯扯 Spring 中的注入方式希望对你有帮助往期推荐Spring Boot Admin贼好使Bean放入Spring容器你知道几种方式SpringBoot ShardingSphere 秒级分库分表
http://www.lebaoying.cn/news/6826.html

相关文章:

  • 二手车网站源码下载站长工具流量统计
  • 做网站所需要的技术网站建设岗位职责怎么写
  • 网站设置二级域名好吗网站加地图
  • 郑州网站建设公智能模板网站建设价格
  • 苏州seo网站公司做资质去哪个网站填资料
  • php网站开发模式有哪些武义县网站建设
  • 网站建设可行性分析报告范文开发网站设计公司
  • 网站开发模网站模板html下载
  • 合肥在线网站购买一个网站域名需要多少钱
  • WordPress电影公司网站网页游戏开服表怎么取消
  • 免费1级做看网站360优化大师旧版
  • 做游戏出租的网站万齐网站建设
  • app网站开发要多少钱辽阳专业建设网站
  • 建筑设计网站 知乎wordpress广告位设置
  • 餐饮加盟网站建设方案WordPress博客Vieu主题破解
  • 传奇做网站shopify建站公司
  • 自己做物流网站优秀的网站设计方案
  • 郑州网站建设公司招聘广州网络推广公司有哪些
  • 建设网站能赚钱吗北京地铁优化
  • 公司网站建设一条海外学校网站建设
  • 企业做网站多少钱七牛云做wordpress图床
  • wordpress add media百度seo网站优化 网络服务
  • 深圳网站seo教程手机制作软件下载
  • 新网站 百度推广请收网址999938
  • 网站底部备案乌云网是个什么网站
  • 自己做的网站能放到阿里云上大连工业大学专升本
  • 西宁房地产网站建设多张图做网站背景
  • 金堂企业网站建设做手机app
  • 百度关键词购买站长工具seo综合查询全面解析
  • 天津网站建设技术托管科技巅峰