spring Bean相关配置及对象的生命周期

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/weixin_43014205/article/details/86525776

名称与表示:  

id   使用了约束中的唯一约束,里面不能出现特殊字符

name  没有使用唯一约束,可以出现特殊字符(一般不使用)

设置对象生命周期的方法:

init-method             Bean被初始化时执行的方法  即加载配置文件时创建管理的所有的对象并调用所有的init方法(以前的版本是在调用getBean()时,对象才会被创建)

destroy-method             Bean被销毁时执行的方法(Bean是单例创建的,工厂关闭)

 

设置对象的作用范围:

单例  singleton  拿到的都是同一个对象  

多例  prototype  每次拿到的对象都不一样

工厂实例化:

无参构造器(默认使用):

<bean id="user" class="com.itlike.demo3.User">

</bean>
package com.itlike.demo3;

public class User {
    public User(){
        super();
        System.out.println("默认构造器被调用");
    }
}
 public void test1(){
        ClassPathXmlApplicationContext applicationContext =
                new ClassPathXmlApplicationContext("applicationContext.xml");
        User user = (User) applicationContext.getBean("user");
        System.out.println(user);
    }
/**
*默认构造器被调用
*com.itlike.demo3.User@6dde5c8c
*/

 静态工厂实例化

 <bean id="user" class="com.itlike.demo3.User" factory-method="creatUser">

    </bean>
public class User {
    /*public User(){
        super();
        System.out.println("默认构造器被调用");
    }
*/
    public static User creatUser(){
        System.out.println("调用了createUser");
        return new User();
    }
}
   public void test1(){
        ClassPathXmlApplicationContext applicationContext =
                new ClassPathXmlApplicationContext("applicationContext.xml");
        User user = (User) applicationContext.getBean("user");
        System.out.println(user);
    }
/*调用了createUser
*com.itlike.demo3.User@7e9a5fbe
*/

 在创建对象时,会返回类中寻找指定的构造器,指定静态的方法创造对象

猜你喜欢

转载自blog.csdn.net/weixin_43014205/article/details/86525776