黑马程序员SSM—Spring学习笔记(2)

本文详细介绍了Spring框架中bean的基础配置,包括id和class属性,name属性的用途,以及bean的作用范围(singleton和prototype)。重点讲解了构造方法、静态工厂和实例工厂的实例化过程,并提到了FactoryBean的实用应用。
摘要由CSDN通过智能技术生成

目录

一、bean基础配置(id属性与class属性)

二、bean的name属性

三、bean作用范围scope属性

四、bean的实例化

1、构造方法实例化(常用)

 2、静态工厂实例化(了解)

2.1、工厂方式创建bean

2.2、静态工厂实例化

3、实例工厂实例化  (了解)

3.1、环境准备

3.2、实例工厂实例化

3.3、FactoryBean(实用) 

一、bean基础配置(id属性与class属性)

(1)id:用来定义bean的名称。
(2)class:用来指定bean的类型,也就是造出来的bean是哪个类的。

二、bean的name属性

功能:用来定义bean的别名,当定义多个别名时,用逗号(,)分号(;)或空格( )分隔

三、bean作用范围scope属性

功能:定义bean的作用范围,可选范围如下:
(1)singleton:单例(默认),即一个类中只有一个实例。
(2)prototype:非单例,即一个类可以有多个实例。

四、bean的实例化

  • 实例化bean有三种方式:构造方法,静态工厂和实例工厂

1、构造方法实例化(常用)

(1)环境准备

  1. 创建一个Maven项目
  2. pom.xml添加依赖
  3. resources下添加spring的配置文件applicationContext.xml

(2)准备一个BookDao和BookDaoImpl类

//BookDao类
package com.itheima.dao;

public interface BookDao {
    public void save();
}

//BookDaoImpl类
package com.itheima.dao.impl;
import com.itheima.dao.BookDao;

public class BookDaoImpl implements BookDao {

    public void save() {
        System.out.println("book dao save ...");
    }
}

(3)把类配置到Spring容器

(4)编写运行程序的类App

(5)在BookDaoImpl类中添加一个无参构造函数,并打印一句话

public class BookDaoImpl implements BookDao {
//添加一个无参构造函数
    public BookDaoImpl() {
        System.out.println("book dao constructor is running ....");
    }

    public void save() {
        System.out.println("book dao save ...");
    }

}

(6)运行程序,控制台打印构造函数中的输出,说明Spring容器在创建对象的时候也走的是构造函数 

 2、静态工厂实例化(了解)

2.1、工厂方式创建bean

 (1)准备一个OrderDao和OrderDaoImpl类

public interface OrderDao {
    public void save();
}

public class OrderDaoImpl implements OrderDao {
    public void save() {
        System.out.println("order dao save ...");
    }
}

(2)创建一个工厂类OrderDaoFactory并提供一个静态方法

(3)在运行类App中,通过工厂获取对象

 (4)运行后,可以查看到结果  

2.2、静态工厂实例化

(1)在spring的配置文件application.properties中添加配置:

  • class:工厂类的类全名
  • factory-mehod:具体工厂类中创建对象的方法名

(2)在App运行类中,使用从IoC容器中获取bean的方法进行运行测试

 

(3)运行后的结果为

3、实例工厂实例化  (了解)

3.1、环境准备

(1)准备一个UserDao和UserDaoImpl类

//UserDao类
public interface UserDao {
    public void save();
}

//UserDaoImpl类
public class UserDaoImpl implements UserDao {

    public void save() {
        System.out.println("user dao save ...");
    }
}

(2)创建一个工厂类UserDaoFactory并提供一个普通方法

 

(3)在App运行类中通过工厂获取对象

(4)运行后的结果为

 

3.2、实例工厂实例化

(1)在spring的配置文件application.properties中添加配置:

  • factory-bean:工厂的实例对象
  • factory-method:工厂对象中的具体创建对象的方法名

(2)在App运行类中,使用从IoC容器中获取bean的方法进行运行测试 

(3)运行后的结果为 

3.3、FactoryBean(实用)  

(1)创建一个UserDaoFactoryBean的类,实现FactoryBean接口,重写接口的方法

(2)在Spring的配置文件中进行配置  

(3)App运行类不用做任何修改,直接运行 

(4)运行后的结果为

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值