zoukankan      html  css  js  c++  java
  • Spring4.3x教程之一IOC&DI

    SpringIOC也称为DI,对属性内容的注入可以通过属性的setXXX方法进行也可以通过构造方法进行,当然还可以使用工厂模式进行属性内容的注入。

    什么是DI?什么是IOC?

    DI:Dependency Injection依赖注入

    其实一个类中的属性就是依赖

    注入就是为该属性赋值

    比如:

    class A{
    }
    class B{
        //依赖
        private A a;
        //注入
        public void setA(A a){
            this.a=a;
    }
    }
    依赖注入

    那么IOC是什么呢?

    IOC:Inversion of Control,控制反转

    都称为IOC容器,就是为我们创建类的对象并且可以为属性赋值

    来看看如何使用IOC创建对象:

    <?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”>
    <!-- IOC控制反转的对象可以有多个bean,一个bean就是一个反转对象。
        常用属性:
        id/name:bean的唯一标记,不要重复
        class:要创建的对象的类的全称
        scope:对象的创建方式,取值:
        1、singleton:单例,在整个ApplicationContext对象中就一个,会维护对象的生命周期
        2、protortype:多例,每次调用getBean就新建对象,不会维护对象的生命周期
        3、request:将创建的对象存储在HttpServletRequest的setAttribute中
        4、session:将创建的对象存储在HttpSession中
        5、globalSession:在Prolet环境中,使用,非prolet中等价于session -->
    <!-- 对象属性的值的注入方式 -->
    <!-- 第一种:通过属性的setXXX方法实现注入 -->
    <bean id=”user” class=”cn.code404.pojos.User” scope=”singleton”>
    <!-- 为属性赋值,借助setXXX -->
    <property name=”id” value=“1”/>
    <property name=”username” value=”zhangsan”/>
    <property name=”pass” value=”123456”/>
    </bean>
    </beans>
    使用IOC创建对象

    使用单元测试进行调用:

    public class IOCTest{
        //IOC使用之前和之后
        @Test
        public void test1(){
        //IOC之前
        User user=new User();
        Syatem.out.println(user);
        //IOC控制
        //1.Spring上下文对象
        ApplicationContext context=new ClassPathXmlApplicationContext(“applicationContext.xml”);
        //2.获取指定id或name的Bean对象
        User user2=(User) context.getBean(“user”);
        System.out.println(user2);
    }
    }
    Test

    以上就是spring的入门使用。

  • 相关阅读:
    采用多种算法,模拟摇奖:从1-36中随机抽出8个不重复的数字
    有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,问有大,中,小马各几匹?
    5文钱可以买一只公鸡,3文钱可以买一只母鸡,1文钱可以买3只雏鸡。现在用100文钱买100只鸡,那么各有公鸡、母鸡、雏鸡多少只?请编写程序实现。
    集合相关题目0927
    输入输出作业
    IO流,File类的测试........课堂加总结
    使用泛型............课堂
    Map 映射
    Set
    List相关知识点.......课堂加整理
  • 原文地址:https://www.cnblogs.com/arrows/p/10399981.html
Copyright © 2011-2022 走看看