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

ios7风格网站上海教育网站建设

ios7风格网站,上海教育网站建设,无法解析您网站的域名,网站建设 网页开发目录 #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.hkea.cn/news/14591250/

相关文章:

  • 国外 网站 源码备案信息修改网站名称
  • 手机网站绑定辽宁建设工程招标信息网
  • 贵阳公司网页网站建设电子商务网站有那些功能
  • 制作手机网站哪家好网站快速网站推广
  • 重庆建设银行官方网站首页成都建网站
  • 2024免费网站推广大全提高工作效率整改措施
  • 河北网站建设哪里好如何建立论坛网站
  • 网站品牌推广公司新媒体管家
  • 公司网站域名续费队标logo设计简单
  • 建筑工程招投标网站平面设计师需要会什么软件
  • 网页小游戏的网站稻香村网站建设
  • 北京 个人网站 备案wordpress积分
  • 长尾关键词搜索网站阳高网站建设
  • 做图的软件网站page转wordpress
  • 网站描文本浙江交工宏途交通建设有限公司网站
  • 高质量的南昌网站建设android电影网站开发
  • 专业网站建设需要多少钱找人注册公司需要多少钱
  • 站长工具ip地址查询重庆大型的网站建设
  • 佛山网站建设多少钱常见的网络营销方法有哪些
  • 广西城乡和住房建设厅网站网站源码有什么用
  • 做自己的网站能赚钱吗网站建设都需要什么文案
  • 创意包装设计网站深圳市住房和建设局办事大厅
  • 天津北京网站建设公司哪家好中国电商排名前十名
  • 北京市建设工程交易服务中心网站wap端和app有什么区别
  • 可以做彩票广告的网站吗书画院网站源码
  • 高校网站一般采用什么网页布局wordpress设置ssl证书
  • 第二章 网站建设wordpress添加底部友情链接
  • 淮南网官方网站wordpress 流量插件
  • 深圳网站建设案附近短期电脑培训班
  • 网站seo服务商男女的做那个视频网站