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

网站推广积分清理wordpress

网站推广积分,清理wordpress,网站设计的七个原则,软件开发各阶段工作量比例目录 #x1f334;什么是依赖注入 #x1f384;依赖注入的三种方法 #x1f6a9;属性注⼊(Field Injection) #x1f6a9;Setter注入 #x1f6a9;构造方法注入 #x1f6a9;三种注⼊的优缺点 #x1f333;Autowired存在的问题 #x1f332;解决Autowired存在的…目录 什么是依赖注入 依赖注入的三种方法 属性注⼊(Field Injection) Setter注入 构造方法注入 三种注⼊的优缺点 Autowired存在的问题 解决Autowired存在的问题 Primary注解 Qualifier注解 bean对象名称与属性名相匹配 Resource注解 Autowired注入过程 Autowird与Resource的区别 图书管理系统代码改动 Spring, Spring Boot和SpringMVC的关系以及区别 什么是依赖注入 依赖注⼊是⼀个过程是指IoC容器在创建Bean时,去提供运⾏时所依赖的资源⽽资源指的就是对象. 在上⾯程序案例中我们使⽤了 Autowired 这个注解完成了依赖注⼊的操作 简单来说,就是把对象取出来放到某个类的属性中. 在 ⼀些⽂章中,依赖注⼊也被称之为对象注⼊,属性装配,具体含义需要结合⽂章的上下⽂来理解 依赖注入的三种方法 关于依赖注⼊,Spring也给我们提供了三种⽅式: 属性注入(Field Injection)构造方法注入(Constructor Injection)Setter注入(Setter Injection) 接下来我们分别来看。 下⾯我们按照实际开发中的模式 属性注⼊(Field Injection) 属性注⼊是使⽤ Autowired 实现的。 比如将UserService类注⼊到UserController类中。 UserService代码 UserController代码 获取对象 运行结果 若将Tutowired注释掉运行时就会报空指针异常也就是说userService是空的并没有注入 Setter注入 Setter注⼊和属性的Setter⽅法实现类似只不过在设置set⽅法的时候需要加上Autowired注解 运行结果 构造方法注入 代码 运行结果发现没有加Autowired注解却注入成功了。 我们说加了有参的构造函数之后也需要把无参的构造函数加上那再加上试试 运行结果此时就异常了我们在创建对象时要么去new或者通过反射的方式创建对象这里我们也没有看到spring去new对象所以这里spring是通过反射的方式去创建对象的不管是new还是反射创建都需要去调用构造函数那么只有一个构造函数spring就不得不用这个那么使用了这个有参的构造函数发现需要一个UserService它就去容器里面查找有没有UserService这个对象发现有就把它放进来了完成了UserService的创建。当我们加上无参的构造函数时它就使用了无参的构造函数但是无参的构造函数没有给userService赋值所以就报了空指针即有多个构造函数时就需要告诉spring使用哪个来创建对象加上Autowired注解即可。 代码 运行结果 三种注⼊的优缺点 属性注⼊: 优点: 简洁使⽤⽅便 缺点: 只能⽤于IoC容器如果是⾮IoC容器不可⽤并且只有在使⽤的时候才会出现NPE空指针异常 不能注⼊⼀个Final修饰的属性 构造函数注⼊(Spring 4.X推荐): 优点: 可以注⼊final修饰的属性 注⼊的对象不会被修改 依赖对象在使⽤前⼀定会被完全初始化因为依赖是在类的构造⽅法中执⾏的⽽构造⽅法是在类加载阶段就会执⾏的⽅法. 通⽤性好,构造⽅法是JDK⽀持的,所以更换任何框架,他都是适⽤的 缺点: 注⼊多个对象时,代码会⽐较繁琐 Setter注⼊(Spring3.X推荐): 优点: ⽅便在类实例之后,重新对该对象进⾏配置或者注⼊ 缺点: 不能注⼊⼀个Final修饰的属性 注⼊对象可能会被改变,因为setter⽅法可能会被多次调⽤,就有被修改的⻛险. Autowired存在的问题 当同⼀类型存在多个bean时,在使⽤Autowired就会存在问题 例如有以下代码 在UserController中注入对象 运行结果 报错的原因是⾮唯⼀的 Bean 对象也就是说它不知道注入哪个对象了 解决Autowired存在的问题 为了解决上述问题Spring提供了以下4种解决⽅案 PrimaryQualifierbean对象名称与属性名相匹配Resource Primary注解 使⽤Primary注解当存在多个相同类型的Bean注⼊时加上Primary注解来确定默认的实现. 运行结果 Qualifier注解 使⽤Qualifier注解指定当前要注⼊的bean对象。在Qualifier的value属性中指定注⼊的bean的名称。 代码 运行结果 bean对象名称与属性名相匹配 代码 运行结果 Resource注解 这个注解也是指定对象的名称 代码 运行结果 注意 前面三种方式都是spring提供的Resource现在是jakarat这个包里面在JDK8的时候是在JDK里面Qualifier注解不能单独使⽤必须配合Autowired使⽤ Autowired注入过程 Autowird与Resource的区别 Autowired是spring框架提供的注解⽽Resource是jakarta提供的注解Autowired默认是按照类型注⼊⽽Resource是按照名称注⼊.相⽐于Autowired来说Resource⽀持更多的参数设置例如name设置根据名称获取Bean。 图书管理系统代码改动 通过上⾯的学习,我们把前⾯的图书管理系统代码进⾏调整 Service层的注解,改成Service Dao层的注解,改成Repository 重新运⾏代码,验证程序访问正常 代码 项目启动访问页面可以正常访问 Spring, Spring Boot和SpringMVC的关系以及区别 Spring: 简单来说,Spring是⼀个开发应⽤框架什么样的框架呢有这么⼏个标签轻量级、⼀ 站式、模块化其⽬的是⽤于简化企业级应⽤程序开发 Spring的主要功能:管理对象以及对象之间的依赖关系,⾯向切⾯编程,数据库事务管理,数据访 问,web框架⽀持等. 但是Spring具备⾼度可开放性,并不强制依赖Spring,开发者可以⾃由选择Spring的部分或者全 部,Spring可以⽆缝继承第三⽅框架,⽐如数据访问框架(Hibernate、JPA),web框架(如Struts、 JSF) Spring MVC:SpringMVC是Spring的⼀个⼦框架,Spring诞⽣之后,⼤家觉得很好⽤,于是按照MVC 模式设计了⼀个MVC框架(⼀些⽤Spring解耦的组件),主要⽤于开发WEB应⽤和⽹络接⼝所以, Spring MVC是⼀个Web框架 Spring MVC基于Spring进⾏开发的,天⽣的与Spring框架集成.可以让我们更简洁的进⾏Web层 开发,⽀持灵活的URL到⻚⾯控制器的映射,提供了强⼤的约定⼤于配置的契约式编程⽀持,⾮常 容易与其他视图框架集成如Velocity、FreeMarker等 Spring Boot: Spring Boot是对Spring的⼀个封装,为了简化Spring应⽤的开发⽽出现的中⼩型 企业没有成本研究⾃⼰的框架,使⽤SpringBoot可以更加快速的搭建框架,降级开发成本,让开发 ⼈员更加专注于Spring应⽤的开发⽽⽆需过多关注XML的配置和⼀些底层的实现. Spring Boot 是个脚⼿架,插拔式搭建项⽬,可以快速的集成其他框架进来 ⽐如想使⽤SpringBoot开发Web项⽬,只需要引⼊SpringMVC框架即可,Web开发的⼯作是 SpringMVC完成的,⽽不是SpringBoot,想完成数据访问,只需要引⼊Mybatis框架即可 Spring Boot只是辅助简化项⽬开发的,让开发变得更加简单,甚⾄不需要额外的web服务器,直接 ⽣成jar包执⾏即可. 总结 SpringMVC和SpringBoot都属于SpringSpringMVC是基于Spring的⼀个 MVC框架⽽SpringBoot是基于Spring的⼀套快速开发整合包. ⽐如我们的图书系统代码中 整体框架是通过SpringBoot搭建的 IoC, DI功能是Spring的提供的, web相关功能是SpringMVC提供的 这三者专注的领域不同解决的问题也不⼀样,总的来说Spring就像⼀个⼤家族有众多衍⽣产 品,但他们的基础都是Spring,⽤⼀张图来表⽰他们三个的关系:
http://www.w-s-a.com/news/223809/

相关文章:

  • 做旅游宣传网站的流程图中国企业集成网电子商务
  • 开发商城网站开发成交功能网站
  • 网站建设公司专业公司排名搭建网站的企业
  • 网站建设难吗海南智能网站建设报价
  • 企业网站建设选题的依据及意义校园网站建设的论文
  • 网站版面设计方案水电维修在哪个网站上做推广好些
  • 邹平建设局官方网站企业宣传片广告公司
  • 南京建设集团网站建站极速通
  • 网站建设与推广员岗位职责网站开发应如何入账
  • 企业网站的作用和目的手机回收站
  • 大连零基础网站建设培训电话郎溪做网站
  • 成都科技网站建设注册公司最少需要多少注册资金
  • 找公司做网站注意事项麻城建设局网站停办
  • 沧州企业做网站wordpress 消息通知
  • 网站开发外包计入什么科目怎样申请网站空间
  • 西安建设局网站小孩把巴塘网站建设
  • 做网站 客户一直要求改郑州做优惠券网站的公司
  • 专门做特卖的网站是什么东北石油大学秦皇岛吧
  • 网站建设需要云主机吗wordpress 下载数据表插件
  • 集团网站建设哪个好石龙镇仿做网站
  • 网站建设费税率是多少项目备案信息查询
  • 网站开发php有哪些权威发布型舆情回应
  • 凡科建站有哪些弊端百度手机怎么刷排名多少钱
  • 南山网站公司在招聘网站做销售工资高吗
  • 百度联盟怎么加入赚钱合肥seo按天收费
  • 网站建设与用户需求分析加盟店排行榜加盟项目排行榜
  • 柳州市诚信体系建设网站wordpress建手机网站吗
  • 网站策划书是什么水产公司网站源码
  • 温州做网站多少钱网站服务器机房
  • 网站公司设计 网站首页什么网站专门做图片