Spring Ioc的基本原理及XML实现方法(下)

来源:互联网 发布:ubuntu apache2 php 编辑:程序博客网 时间:2024/05/16 17:32

接着上面的博客,这次讲讲spring Ioc中的一些具体XML的实现方法



inverse of control   = 控制反转
dependency injection = 依赖注入


Spring Ioc帮我们创建对象,帮我们组织和装配对象



5.自动装配
autowire :byName,byType (在bean中设计装配方法,一般工作中用byName比较多)
default-autowire(在beans中设计,是全局默认的装配方法)


6.注入方式:
1).setter方式注入 property(可以使用自动装配)
2).构造方法注入   constructor-arg(不能使用自动装配
,只能使用配置参数的这种方式:如:<constructor-arg name="dao" ref="mydao"></constructor-arg>)




7.不同属性的注入方式,只做了解
简单属性注入:int,String,float
集合属性注入:Map,List,Set


8.单实例与多实例


scope = singleton,prototype,request,session,global session
scope默认是singleton(我们工作中一般也是用的singleton) 单例,prototype 原型,模板


下面举两个例子来说明scopee分别适用于singleton和prototype
比较两个类的区别


class Student
{
   private int age;
   public void setAge(int age)
   {
       this.age=age;
   }
   public void show()
   {
       System.out.println(age);
   }
}


class StudentDAO
{
    public void save(Student student)
    {
       ......
    }
}


scope适用于prototype(因为类中带有具体的属性age,年龄是要变化的,不能只是一个具体的对象)
Student zhang=new Student();
zhang.setAge(20);


Student lee=new Student();
lee.setAge(18);


scope适用于singleton(类中没有具体的属性,所以适用于singleton)


StudentDAO dao1=new StudentDAO();
dao1.save();
StudentDAO dao2=new StudentDAO();
dao2.save();






9.延时加载(只做了解,工作中一般也用不到)

lazy-init 容器加载时不初始化(初始化时有些容器不需加载,用到的时候
再加载,这样初始化的时候可以节省很多初始化加载的时间)
default-lazy-init


10.初始化方法和销毁方法

init-method (初始化的时候会调用此方法)和(在此方法中输出语句,一般都看的到输出结果) 


destroy-method(结束的时候会调用此方法)(在此方法中输出语句,一般都看不到输出结果)






 



原创粉丝点击