Spring(2.3.22 IOC )

IOC


控制反转:InversionOfControl
所谓控制反转,就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责,这样控制权就由应用转移到了外部容器,控制权的转移就是所谓的反转

使用步骤

操作工具

  • eclipse
  • spring tools
  • spring  tools在线下载
  • maven

操作

  • 使用eclipse建立maven工程
  • 在工程的pom.xml 的源代码中,写入spring jar包坐标。spring官网
<!-- spring  框架  依赖  4.3.10版 -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>4.3.10.RELEASE</version>
    </dependency>
  • 建立
    配置文件

加载配置文件,有三种方式,二种大类

  • 延时加载
    • 就是单你使用某个类时,这个类,才会被实例化,故此也被称之为,懒加载
  • 及时加载
    • 当配置文件,一加载,马上就把配置文件内的所有类都实例化

示例

 //延时加载
 BeanFactory beanfactory=new XmlBeanFactory(new ClassPathResource("applicationContext.xml"));

 //通过,applicationContext.xml中的 bean的id取到  bean
        Computer computer=(Computer) beanfactory.getBean("需要实例化的对象id");

//及时加载
//第一种:
ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");

//第二种:
    BeanFactory beanfactory=new ClassPathXmlApplicationContext("applicationContext.xml");

配置的基础标签

         < bean> 代表一个类 属性介绍
            id 代表类的标识(可以自己设)
            class需要实例化的类全限定名 
            init-method="被调用的方法名"  初始化就跳方法
            lazy-init:"true";  设定,此类是否懒加载

       <property>   bean  的子标签 ,用来设定类的属性
        name="被设定的属性名"    配设定的属性名
        value="设定值"

       //示例
       set  注入  值
       <property name="cid" value="1"></property>

      构造方法  注入值
 <constructor-arg index="0" type="类型" value="" name="属性名" ref=""></constructor-arg>

    集合注入
    <property name="集合属性名">
        //也可以注入其他集合
            <list>
                <value>钓鱼</value>
                <value>王者农药</value>
                <value>毒奶粉</value>
            </list>
   </property>


//  代码示例
<bean id="代表实例id(自由设置)" class="需要,被实例话的类,全限定名">

       <!-- 设定属性  采用set 注入(故此getset方法,必须要存在),   ref 需要引入对象-->
       <property name="name与被需要,被设置的属性相同" ref="AMD" >

       </property>

        <!-- 设定属性  采用set 注入  硬盘接口下的类-->
       <property name="disk" ref="ADATA">

       </property>

       <property name="memory" ref="SanDisk">

       </property>

   </bean>

视图

这里写图片描述
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值