Spring—Bean工厂进一步学习

devtools/2024/11/25 8:48:14/

基于xml的spring应用
XML配置方式: 功能描述:
bean的id和全限定名配置
通过name设置bean的别名,通过别名也能直接获取到bean实例
bean的作用范围
bean的实例化时机,是否延迟加载
bean实例化后自动执行的初识方法,method指定方法
bean实例销毁前的方法
设置自动注入模式
<bean factory-bean=“factory-method=”“/”> 指定工厂完成bean的创建。
小细节:
当为配置的时候,getBean(“”);中,得到的会是权限名。

name为别名

scope的类型有两种:prototype和singleton
其中,singleton为默认,当spring容器刚开始创建时,就已经进行了bean的实例化
prototype为创建时,不会进行bean的实例化,但每次使用getbean方法方法时,就进行一次bean的实例化。
singleton实例:
com.zzz.service.impl.UserServiceImpl@7b227d8d
com.zzz.service.impl.UserServiceImpl@7b227d8d
com.zzz.service.impl.UserServiceImpl@7b227d8d
prototype实例:
com.zzz.service.impl.UserServiceImpl@7b227d8d
com.zzz.service.impl.UserServiceImpl@7219ec67
com.zzz.service.impl.UserServiceImpl@45018215

创建对象后,创建初始化方法,在创建实例前首先执行需要的方法,有两种途径实现目的:
1.创建init-method初始化方法
2.实现接口InitializingBean,并且实现afterPropertiesSet方法
Spring实例化方式,也就是Spring创建bean的方式:
构造方式实例化:底层通过构造方法对bean进行实例化
工厂化方式实例化:底层通过调用自定义的工厂方法对bean进行实例化。
实例化的方式-构造方法方式:
public UserServiceImpl(String name){
System.out.println(“UserService有参构造”);
}
public UserServiceImpl(){
System.out.println(“UserService无参构造”);
}
实例化时,默认为无参构造优先,需要配置有参构造时,需要配置aplicationContext.xml文件

就会优先优先输出有参构造方法。
注意:constructor-arg为构造参数,但是注意构造参数不仅是构造方法的参数,只要需要传参数时,都可以使用constructor-arg标签进行传输。

工厂化实例bean,又分为以下三种:
1.静态工厂方法实例化bean
2.实例工厂方法实例化bean
3.实现factoryBean规范延迟实例化bean


http://www.ppmy.cn/devtools/136796.html

相关文章

Python XML 解析

Python XML 解析 XML&#xff08;eXtensible Markup Language&#xff09;是一种用于存储和传输数据的标记语言。它是一种自我描述的语言&#xff0c;允许用户定义自己的标签和文档结构。Python 提供了多种库来解析 XML 数据&#xff0c;其中最常用的是 xml.etree.ElementTree…

Elasticsearch 实战应用:全面解析与实践

Elasticsearch 是一个基于 Lucene 构建的开源分布式搜索引擎,广泛应用于日志分析、全文搜索、实时分析等场景。它的高性能、高可扩展性和强大的查询能力使其成为现代应用中的核心组件之一。在本文中,我们将介绍 Elasticsearch 的基本概念、配置与搭建,并通过一个实际应用案例…

【unity小技巧】unity常用的编辑器扩展

文章目录 1. **自定义 Inspector&#xff08;Inspector 面板&#xff09;**示例&#xff1a; 2. **Editor Window&#xff08;自定义编辑器窗口&#xff09;**示例&#xff1a; 3. **PropertyDrawer&#xff08;自定义属性绘制&#xff09;**示例&#xff1a; 4. **菜单项&…

SQL进阶技巧:如何分析互逆记录?| 相互关注为例分析

目录 1 什么是互逆记录 2 互逆记录的解决方案 3 互逆记录应用【互相关注的人】 3.1 场景描述 3.2 数据准备

Excel求和如何过滤错误值

一、问题的提出 平时&#xff0c;我们在使用Excel时&#xff0c;最常用的功能就是求和了&#xff0c;一说到求和你可能想到用sum函数&#xff0c;但是如果sum的求和区域有#value #Div等错误值怎么办&#xff1f;如下图&#xff0c;记算C列中工资的总和。 直接用肯定会报错&…

Python脚本消费多个Kafka topic

在Python中消费多个Kafka topic&#xff0c;可以使用kafka-python库&#xff0c;这是一个流行的Kafka客户端库。以下是一个详细的代码示例&#xff0c;展示如何创建一个Kafka消费者&#xff0c;并同时消费多个Kafka topic。 1.环境准备 &#xff08;1&#xff09;安装Kafka和…

MT8768/MTK8768安卓核心板性能参数_联发科安卓智能模块开发方案

MT8768安卓核心板 是一款采用台积电12nm FinFET制程工艺的智能手机芯片。MT8768核心板不仅提供所有高级功能和出色体验&#xff0c;同时确保智能终端具备长电池寿命。该芯片提供了一个1600x720高清(20:9比例)分辨率显示屏&#xff0c;排除了清晰度和功耗之间的平衡问题。该芯片…

网络云计算】2024第47周-每日【2024/11/21】周考-实操题-RAID6实操解析1

文章目录 1、RAID6配置指南&#xff08;大致步骤&#xff09;2、注意事项3、截图和视频 网络云计算】2024第47周-每日【2024/11/21】周考-实操题-RAID6实操 RAID6是一种在存储系统中实现数据冗余和容错的技术&#xff0c;其最多可以容忍两块磁盘同时损坏而不造成数据丢失。RAID…