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

门户网站建设与管理办法如何建设一个视频网站

门户网站建设与管理办法,如何建设一个视频网站,网页设计的网网页设计的网站,电子商务平台建设预算控制反转的一种实现方式——依赖注入一、IoC 控制反转(Overview)依赖注入(DI)- Overview利用 IoC(控制反转)这种思想有什么好处呢?二、依赖注入的方式setter 方式(xml配置中的proper…

控制反转的一种实现方式——依赖注入

  • 一、IoC 控制反转(Overview)
    • 依赖注入(DI)- Overview
    • 利用 IoC(控制反转)这种思想有什么好处呢?
  • 二、依赖注入的方式
    • setter 方式(xml配置中的property标签)
      • 内部Bean和外部Bean
    • 构造方式(xml配置中的constructor-arg标签)

一、IoC 控制反转(Overview)

  • 控制反转是一种设计思想,也是Spring框架的核心。反转即是指本来由用户管理Bean对象,现在由框架对其进行管理。
  • 既然交给了 Spring框架 去管理,那除了负责实例化之外,当然也负责其Bean对象生命周期
  • 既然是管理Bean对象,那创建完之后放哪托管呢?IoC 容器。
  • 既然是设计思想,那其实现方式呢?依赖注入(DI)是其一种实现方式。

有反转就有正转,正转就是指由用户去创建对象,就是去 new 啦。

依赖注入(DI)- Overview

应用程序从 IoC Container 中获取依赖的 Bean,注入到依赖的程序中,这个过程称为依赖注入(Dependency Injection,DI) 。 所以说控制反转是通过依赖注入实现的,其实它们是同一个概念的不同角度描述。通俗来说就是IoC是设计思想,DI是实现方式。

依赖注入常见的方式:

  1. 构造注入
  2. set 注入

利用 IoC(控制反转)这种思想有什么好处呢?

  1. 降低了程序的耦合度,提高了其扩展力;
  2. 达成了软件设计的七大原则中的俩:OCP(Open Close Principle)开放关闭原则:类、方法等对外开放,修改对外关闭;DIP(Dependency Inversion Principle)依赖倒置原则:通过抽象使各个类或者模块不相互影响,实现松耦合。

有关七大软件设计原则的详细介绍可以看这篇博客:

软件设计的七大原则

二、依赖注入的方式

构造方法注入、set 注入
IoC 有三种配置方式:xml配置、Java配置、注解配置。

setter 方式(xml配置中的property标签)

  • 在xml配置中,利用 property 标签实现 setter 方式注入,具体实现:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--配置dao--><bean id="userDaoBean" class="com.ncpowernode.spring6.dao.UserDao"/><!--配置service--><bean id="userServiceBean" class="com.ncpowernode.spring6.service.UserService"><!--想让Spring 调用对应的set 方法,需要配置property 标签--><!--name 属性怎么指定值:set 方法的方法名,去掉set,然后把剩下的单词首字母编小写,写到这里--><!--ref 翻译为引用,英语单词:references,ref后面指定的是bean 的id--><!--set方法起名的时候,不要为难自己,遵循Bean规范,所以name位置写属性名就可以了--><property name="userDao" ref="userDaoBean"/></bean></beans>
  • property 标签 name 属性值是 set方法名去掉set,然后把剩下的第一个字符改为小写,其余不变的字符串。

  • ref 属性值是 IoC容器中所对应的 Bean对象的 Id

内部Bean和外部Bean

这里在 property 中使用了 ref 属性值去指明注入的对象,这种方式属于外部Bean

以下方式就是利用内部Bean(就是property标签下利用bean子标签):

<property name="userDao"><bean class="com.ncpowernode.spring6.dao.UserDao"/>
</property>
  • UserDao 类中封装内容:

在这里插入图片描述

  • UserService 类中封装的业务内容

在这里插入图片描述

  • 测试:

在这里插入图片描述

构造方式(xml配置中的constructor-arg标签)

  • 在 xml 配置中,在 constructor-arg 标签下配置要注入的对象,具体如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="vipDaoBean" class="com.ncpowernode.spring6.dao.VipDao"/><bean id="vipServiceBean" class="com.ncpowernode.spring6.service.VipService"><!--构造注入--><!--index 属性指定参数下标,第一个参数是0,第二个参数是1,以此类推ref 属性用来指定注入的bean 的id--><!--指定构造方法的第一个参数,下标是0--><!--<constructor-arg index="0" ref="vipDaoBean"/>--><!--根据参数的名字--><constructor-arg name="vipDao" ref="vipDaoBean"/></bean></beans>
  • VipDao 类的封装内容
public class VipDao {private final Logger logger = LoggerFactory.getLogger(VipDao.class);public void insert(){logger.info("VipDao正在保存数据");}
}
  • VipService 类的封装业务内容
public class VipService {private VipDao vipDao;public VipService(VipDao vipDao){this.vipDao = vipDao;}public void save(){vipDao.insert();}}

测试:

在这里插入图片描述

http://www.yayakq.cn/news/200684/

相关文章:

  • 国外网站专题红黄wordpress如何播放百度云视频
  • 梧州外贸网站推广设计国外素材设计欣赏网站
  • 外贸展示型网站建设公司美橙网站建设教程
  • 该网站无备案个人品牌建设
  • 移动端 pc网站开发昆明做网站的公司
  • 湖北建设厅举报网站用ps做美食网站
  • 做哪些网站比较好的自己做网站运营
  • 福建泉州做网站公司赣州南康网站建设
  • 网站网页制作图片素材企业网站seo从哪开始
  • 六安市网站建设wordpress 卢晓松
  • 跑腿个人网站怎么做深圳百度seo关键词排名
  • 国外网站建设什么价格低失信人信息查询
  • 分类信息系统网站模板纯静态企业网站模板免费下载
  • 网站专题二级页怎么做百度问答平台入口
  • 网页如何发布到服务器上西安seo网站关键词优化
  • 建设网站用什么服务器汕尾英文网站建设
  • wordpress模板 站长wordpress舰娘
  • 珠海建网站设计网站空间怎么续费
  • 织梦如何做响应式手机网站长沙编程培训学校哪家好
  • 整合营销网站建设国外手机网站模板
  • 做网站的成本是什么wordpress主题去除文章作者
  • 莱州网站建设方案wordpress在线教育系统
  • 斐讯k3做网站wordpress 映射 frp 群晖
  • 网站上动画视频怎么做的深圳建西站
  • 建立手机网站企业计划书模板范文
  • 网站建设 不需要见面建网站不做广告怎么赚钱
  • 建设银行春招报名网站没有公网ip做网站
  • 网站建设现在主要做些什么个人适合做的网站
  • 网站起名字大全网络营销推广为什么效果不好
  • 东莞网站建设网站推广价钱wordpress一句话木马