栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

第2章 Spring中的Bean

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第2章 Spring中的Bean

Bean的配置

        Bean的本质就是Java中的类,而Spring中的Bean其实就是对实体类的引用,来生产Java类对象,从而实现生产和管理Bean 。

        Spring容器支持两种格式的配置文件 Properties 文件 XML文件

        在配置文件中,通常一个普通的Bean只需要定义id(或name)和class 两个属性即可,定义Bean的方式如下所示:

    
    
            
            
    
Bean的实例化

          在面向对象的程序中,想要使用某个对象,就需要先实例化这个对象。同样,在Spring中,要想使用容器中的Bean,也需要实例化Bean。实例化Bean有三种方式,分别为构造器实例化、静态工厂方式实例化和实例工厂方式实例化(其中最常用的是构造器实例化)。

Bean的装配方式

 

 创建Spring配置文件beans2.xml,并配置工厂类Bean(这里添加了 factory-method)

实例工厂与静态工厂区别在于是否有static关键词修饰

Bean的作用域

         Spring 4.3中为Bean的实例定义了7种作用域,如下表所示:

 常用的只有singleton和prototype

         singleton是Spring容器默认的作用域,当Bean的作用域为singleton时,Spring容器就只会存在一个共享的Bean实例。singleton作用域对于无会话状态的Bean(如Dao 组件、Service组件)来说,是最理想的选择。

(1条消息) spring 中属性scope 的prototype(有状态)和singleton(无状态)_xueyepiaoling的博客-CSDN博客https://blog.csdn.net/xueyepiaoling/article/details/6107624JAVA-sesion的状态会话与无状态会话_redis (sohu.com)https://www.sohu.com/a/335592822_100109711

singletonSpring容器可以管理singleton作用域的Bean的生命周期在此作用域下,Springi能够精确的知道该Bean何时被创建,何时初始化完成,以及何时被销毁。

prototype作用域的Bean,Spring只负责创建,当容器创建了Bean实例后,Bean的实例就交给客户端代码来管理,Spring容器将不再跟踪其生命周期。

Bean的生命周期

BeanNameAware

接口由想要在豆工厂中了解其豆名称的 bean 实现。 

 BeanFactoryAware

 接口将由希望了解自己拥有的BeanFactory的bean实现。

ApplicationContextAware

接口由任何希望收到运行它的 ApplicationContext 的通知的对象实现。

BeanPostProcessor

允许自定义修改新 Bean 实例的工厂挂钩,例如检查标记接口或使用代理包装它们。

InitializingBean

接口将由 BeanFactory 设置所有属性后需要做出反应的 bean 实现。例如,执行自定义初始化,或者仅用于检查是否已设置所有必需属性。

 定制的初始化方法  BeanPostProcessor

允许自定义修改新 Bean 实例的工厂挂钩,例如检查标记接口或使用代理包装它们。

基于Annotation的装配

 @Autowired 是Spring的注解,Spring属于第三方的;根据类型注入
@Resource 是JDK的,J2EE是Java自己的东西。根据名称注入  @Service("userService") @Resource("userService") 

通过包扫描的形式来配置一个包下的所有Bean:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/874158.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号