美文网首页程序员
IOC-Bean对象以及常用属性

IOC-Bean对象以及常用属性

作者: 常威爆打来福 | 来源:发表于2017-09-08 21:08 被阅读0次

一 IOC-Bean对象创建的三种方式

  • 无参构造创建
  • 静态工厂创建
  • 实例工厂创建
    1 无参构造创建(默认是无参的)
  • .xml配置
    <!--无参构造-->
    <bean id="user" class="User"></bean>
  • 对象定义
public class User {
    public void add(){
        System.out.println("add...................");
    }
}
  • 测试
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Created by pc on 2017/9/7.
 */
public class TextIOC {
    public static void main(String[] args) {
        //加载Spring配置文件,并创建对象
        ApplicationContext context = new ClassPathXmlApplicationContext("Spring/applicationContext.xml");
        //得到配置的对象
       User user= (User) context.getBean("user");
        user.add();
     System.out.println(user);
    }
}

2 静态工厂创建

  • .xml配置
    <!--使用工厂创建对象-->
    <bean id="bean2" class="Bean2Factory" factory-method="getBean2"></bean>
  • 创建对象
public class Bean2 {
    public void add(){
        System.out.println("bean2............");
    }
}
  • 创建静态工厂类
public class Bean2Factory {
    public  static  Bean2 getBean2(){
    return  new Bean2();
    }
}
  • 测试
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Created by pc on 2017/9/7.
 */
public class TextIOC {
    public static void main(String[] args) {
        //加载Spring配置文件,并创建对象
        ApplicationContext context = new ClassPathXmlApplicationContext("Spring/applicationContext.xml");
        //得到配置的对象
 Bean2 bean2= (Bean2) context.getBean("bean2");
        System.out.println(bean2);
    }
}

3 实例工厂创建

  • .xml配置
   <!--创建工厂对象-->
    <bean id="bean3Factory" class="Bean3Factory"></bean>
    <bean id="bean3" factory-bean="bean3Factory" factory-method="getBean3"></bean>

注释:因为不是静态对象,所以不能直接通过类名直接调用方法,所以要先通过类名。

  • 对象创建
public class Bean3 {
public void add(){
    System.out.println("bean3............");
}
}
  • 实体工程类创建
public class Bean3Factory {
    public  Bean3 getBean3(){
        return  new Bean3();
    }
}
  • 测试
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Created by pc on 2017/9/7.
 */
public class TextIOC {
    public static void main(String[] args) {
        //加载Spring配置文件,并创建对象
        ApplicationContext context = new ClassPathXmlApplicationContext("Spring/applicationContext.xml");
        //得到配置的对象
        Bean3 bean3= (Bean3) context.getBean("bean3");
        System.out.println(bean3);
        bean3.add();

    }
}

二 Bean标签常用属性
(1) id属性:起名称,id属性值名称任意命名

  • id属性值,不能包含特殊符号
  • 根据id值得到配置对象

(2)class属性:创建对象所在类的全路径
(3)name属性:功能和id属性一样的,id属性值不能包含特殊符号,但是在name属性值里面可以包含特殊符号。
(4)scpoe属性:

  • singleton:默认值,单例(只有一个对象)
    1 .xml配置


    单例.png

    2 测试

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Created by pc on 2017/9/7.
 */
public class TextIOC {
    public static void main(String[] args) {
        //加载Spring配置文件,并创建对象
        ApplicationContext context = new ClassPathXmlApplicationContext("Spring/applicationContext.xml");
        //得到配置的对象
        User user1= (User) context.getBean("user");
        User user2= (User) context.getBean("user");
        System.out.println(user1);
        System.out.println(user2);
    }
}

3 运行结果

运行结果
  • 注释:结果显示,单例测试调用同一个User对象的两个配置User对象输出地址相同
  • prototype:多例

1.xml配置

多例

2 测试

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * Created by pc on 2017/9/7.
 */
public class TextIOC {
    public static void main(String[] args) {
        //加载Spring配置文件,并创建对象
        ApplicationContext context = new ClassPathXmlApplicationContext("Spring/applicationContext.xml");
        //得到配置的对象
        User user1= (User) context.getBean("user");
        User user2= (User) context.getBean("user");
        System.out.println(user1);
        System.out.println(user2);
    }
}

3 运行结果

运行结果

注释:多例测试,调用同一个User对象的两个配置User对象输出地址不同

  • request:创建对象把对象放到request域里
  • session:创建对象把对象放到session域里
  • globalSession(全局):创建对象把对象放到globalSession域里(登录一次,其他同类不用在登录)

相关文章

  • IOC-Bean对象以及常用属性

    一 IOC-Bean对象创建的三种方式 无参构造创建 静态工厂创建 实例工厂创建1 无参构造创建(默认是无参的) ...

  • JavaScript对象(一)

    对象 对象是动态的——可以新增属性也可以删除属性,但是对象经常用来模拟静态对象以及静态类型语言中的“结构体”。对象...

  • 数值对象-Math对象

    一、Math对象的属性 Math对象的属性往往都是数学中常用到的“常量”,Math对象属性如下:Math对象属性 ...

  • ★06.对象

    简介 JavaScript 中的对象时动态的,属性可以增删,当常用来模拟静态对象以及静态类型语言中的 结构体 。 ...

  • js常用知识点总结-String对象

    js常用知识点总结-String对象 使用String对象: String对象属性: 属性描述constructo...

  • JQ 事件

    事件对象属性 常用事件

  • js常用知识点总结-Number对象

    js常用知识点总结-Number对象 使用Number对象: 对象属性: 属性描述constructor返回对创建...

  • javaScript-05

    对象 对象是由属性和方法组成的。 属性:事物的特征,在对象中用属性来表示(常用名词) 方法:事物的行为,在对象中用...

  • 理解对象以及属性

    什么是对象?面向对象(Object-Oriented,OO).ECMAScriptt没有类的概念,ECMA262把...

  • DOM基础

    本文主要内容包括DOM概念的介绍、DOM对象的一些常用属性和方法、如何获取DOM节点的父子、相邻元素以及常用的操作...

网友评论

    本文标题:IOC-Bean对象以及常用属性

    本文链接:https://www.haomeiwen.com/subject/pqqgjxtx.html