SpringBean的生命周期

本文介绍了Spring框架的核心概念:Ioc容器与AOP面向切面编程。详细解释了Spring Ioc容器如何通过不同方式创建和管理JavaBean实例,包括Bean的生命周期、作用域及自动装配策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、什么是spring?

        Spring框架的核心是Ioc容器与AOP面向切面编程

         Ioc容器是所有对象管理的基础,AOP是建立在Ioc容器的基础上才得到的。Spring Ioc负责创建与管理系统对象,并在此基础上拓展功能。

二、springIOC容器对JavaBean 的管理

        1.Bean的创建

                1.调用类的无参构造方法创建

public class UserControllerImp implements IUserController {

    private IUserService service;

    //步骤一
    public void setService(IUserService service) {
        this.service = service;
    }

    @Override
    public void save() {
        System.out.println("===controller的新增===");
        service.save();
    }
}

                2.通过工厂来创建

public class BeanTestFactory {
    //设计方法
    public UserDemo createUser(){
        System.out.println("===>通过普通工厂构造对象");
        return new UserDemo();
    }
}

                3.通过静态工厂创建

public class BeanStaticTestFactory {
    //设计方法
    public static UserDemo createUser(){
        System.out.println("===>通过static工厂构造对象");
        return new UserDemo();
    }
}

        2.Bean的生命周期

                1.实例化

                2.属性赋值

               (前置处理)

                3.初始化

                        3.1 系统初始化

                        3.2  自定义初始化

                (返回处理)

                (异常处理)

                (后置处理)

                4.销毁

public class UserDemo implements InitializingBean{
    //系统初始化
    @Override
    public void afterPropertiesSet() throws Exception {
        System.out.println("===>初始化系统");
    }

    private String uname;

    public void setUname(String uname) {
        System.out.println("===>进入set方法属性赋值");
        this.uname = uname;
    }

    public UserDemo() {
        System.out.println("===>进入无参构造方法");
    }

    //自定义初始化
    public  void doinit(){
        System.out.println("===>初始化自定义");
    }

    //销毁了
    public  void dodestory(){
        System.out.println("===>系统销毁了");
    }

}

 

       3.Bean的作用域        

        含义:bean在容器中的创建策略

        语法:

<bean scope="属性值">

        属性值:

                1.singleton 单例(懒汉式和饿汉式)

                2.prototype 多例

                3.request 一个请求创建一个对象

                4.session 一个会话创建一个对象

4.Bean的自动装配

        属性值:byName:按名称装配                set方法 属性名与bean的id匹配

                        byType:按类型装配                set方法 属性类型与bean的class匹配

                        constructor:按类型装配          构造方法

替换:<property>
      <constructor-arg>
语法:
    <bean aotowire = "属性值"> =============> 局部
    <beans default-autowire="    ">   ================> 全局

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值