当前位置: 首页 > news >正文

Spring总结(上)

(一)三种实例化Bean的方法

1.使用构造函数

在环境测试中使用的创建Bean的方法是默认的构造函数创建

2. 使用静态工厂

定义一个静态工厂,利用此工厂创建一个Bean实例

在spring-config.xml中配置bean

3. 使用实例化工厂

使用工厂实例化对象:

将此工厂Bean交给spring容器管理

(二)配置Spring管理的bean的作用域

当Bean交给spring容器管理后,每次使用getBean()获得到的bean对象默认情况下是同一个 如果想每次获得到的bean对象不同,则在配置文件中定义scope属性:

(三)Spring管理的Bean的生命周期

Spring管理的bean的生命周期,如下配置

默认情况下只有一个bean对象被spring容器管理,当创建容器对象时,会自动创建它所管理的bean对象

但是可以在配置中添加lazy-init=”true”属性,表示延迟创建bean对象,那么Bean对象在调用以下语句时创建:

在创建对象是,会调用构造函数,使用init-method=”init”进行初始化,当bean对象销毁时自动调用destory进行对象销毁。

Bean对象类:

(四)Spring依赖注入(通过setter方法属性注入)

1.对象注入

有个dao对象,如何被service处理,通过spring容器实现控制反转

PersonDaoBean对象类:

PersonServiceBean对象类:

如何通过spring容器将dao对象注入到service对象中,配置spring-config.xml

方法一:

通过<property>标签实现对象注入,name=”personDao”为PersonServiceBean中成员变量(属性),ref=”persondao”为引用的dao对象。


方法二:

通过使用内部bean的方法实现注入。

注意:方法一中的一个dao对象可被多个service bean对象使用,但方法二却只能使用一次

2.基本类型注入

基本类型的注入也使用property标签,如

3.集合类型的装配

将各种集合产生setter/getter方法,且getter方法在接口中。

Spring容器注入的配置:

测试:

(五)Spring依赖注入(构造器注入)

通过构造器传入参数注入值:

有一个bean类,定义了有参数的构造器

配置如下:

下期详讲spring知识总结(中)

http://www.cnnetsun.cn/news/1457535.html

相关文章:

  • 【LeetCodehot100】T114:二叉树展开为链表 T105:从前序与中序遍历构造二叉树
  • 为什么你家WiFi满格,网却很慢?90%的人都理解错了
  • Google Hacking 高级搜索技巧与实战案例解析
  • Win11Debloat开源工具:系统性能优化的全方位解决方案
  • YOLOv11实战:用C3K2和C2PSA模块提升你的目标检测模型(附PyTorch代码)
  • 海宁市停车设施专项规划 2024
  • IsaacLab 训练范式探索(一):让机器人拥有“记忆”的 RNN 策略
  • 基数排序笔记
  • mmdetection实战:从混淆矩阵到精准评估,手把手计算P、R、F1
  • 安装flash-attn
  • TFT LCD屏幕硬件解析:从TN到IPS,如何选择适合你项目的显示技术?
  • Shardingsphere-Proxy 5.5.0数据迁移实战:从单机到集群的平滑过渡
  • 告别臃肿控制软件:GHelper让你的华硕笔记本性能飙升
  • 【Qt视频实战】基于QMediaPlayer与QVideoWidget的RTSP流媒体播放器开发指南
  • 【递归算法】找出所有子集的异或总和再求和
  • nlp_structbert模型API的流式调用与异步处理模式详解
  • 为什么你的LangChain服务每48小时必崩?——用我们自研的MemTrace-Py工具10分钟定位GC失效根源
  • 第十八篇:【硬件工程师筑基系列 4-1】原理图设计入门与工具全指南 | 从工程搭建到绘制全流程(AD24 版)
  • mPLUG视觉问答:本地图片分析神器,支持jpg/png,英文提问秒回答案
  • UndertaleModTool全流程指南:GameMaker游戏深度定制与扩展解决方案
  • Wan2.1-umt5快速开始:使用CSDN星图平台镜像一键启动
  • ITU-R BT.2124建议书标准解读和应用指南-读懂如何“称”出颜色差了多少
  • 构建卡证处理自动化流水线:模型与传统图像处理技术结合
  • RAG数据清洗三大关键
  • 科技成果转化被纳入高校评价体系后,青年教师怎么办?
  • VSCode 接入 Codex(基于 sub2api 的完整实战指南)
  • 高效AI论文工具合集,支持智能降重与自然语言润色,减少重复内容
  • 977. 有序数组的平方
  • Nanobot环境下的OpenClaw优化:CNN图像识别性能提升50%
  • 别再被浏览器红叉吓到!手把手教你用OpenSSL自签证书搞定本地HTTPS开发环境