Spring(一)- -bean

1.Spring Framework系统架构

2.核心容器

核心概念:

①Ioc(Inversion of Control):控制反转,即使用对象时,由主动new产生对象转换为由外部提供对象,此过程中对象创建控制权由程序转移到外部。Spring提供了一个容器,负责对象的创建、初始化等一系列工作,称为Ioc容器,用来充当Ioc思想中的“外部”。被创建或被管理的对象在Ioc容器中称为Bean。

②DI:依赖注入,即在容器中建立bean与bean之间的依赖关系的整个过程


3.bean

(1)基础配置

类别描述
名称bean
类型标签
所属beans标签
功能

定义Spring核心容器管理的对象

格式

<beans>

   <bean/>

   <bean></bean>

</beans>

属性列表

id:bean的id,使用容器可通过id值获取对应bean,在一个容器中,id值唯一

class:bean的类型,即配置bean的全路径类名

范例

<bean id>=”bookdao” class=”com.itheima.dao.impl.BookDaoImpl”/>

<bean id>=”bookService” class=”com.itheima.service.impl.BookServiceImpl”></bean>

(2)别名配置

类别

描述

名称

name

类型

属性

所属

bean标签

功能

定义bean别名,可定义多个,使用逗号(,),分号(;),空格分隔

注意:获取bean无论是通过id还是name获取,如果无法获取到,将抛出异常NoSuchBeanDefinitionException

(3)作用范围

类别

描述

名称

scope

类型

属性

所属

bean标签

功能

定义bean的作用范围,可选范围如下:

·singleton:单例(默认)

·prototype:非单例

使用@Scope定义bean作用范围

eg.

@Respository

@Scope(“signleton”)

public class BookDaoImpl implements BookDao{

}

  • ·适合交给容器进行管理的bean:

表现层对象、业务层对象、数据层对象、工具对象

  • ·不适合交给容器进行管理的bean:

封装实体的域对象

(4)bean实例化

      1)使用构造方法

spring创建bean时,调用的是无参构造方法,若无参构造方法不存在,将抛出异常BeanCreationException

      2)静态工厂实例化bean

eg.

    3)实例工厂

       4)FactoryBean

(5)生命周期

    1)生命周期:从创建到消亡的完整过程

    2)bean生命周期:bean从创建到销毁的整体过程

    3)bean生命周期控制:在bean创建后到销毁前做一些事情

         ①使用配置控制生命周期

        ②使用接口控制生命周期

4)使用@PostConstruct、@PreDestroy定义 bean周期

@Repository 

@Scope(“singleton”) 

public class BookDaoImp1 implements BookDao( 
pub1ic BookDaoImp1()( 
System.out.println(“book  dao Constructor, ...”);

@PostConstruct 
pub1ic void init()
  System.out.println(“book init ...”); 
}
@PreDestroy 
pub1ic void destroy(){ 
System.out.println("book destory ...");

}

}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值