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

Spring:bean的配置

对于bean的配置中,主要会讲解bean基础配置,bean的别名配置,bean的作用范围配置(重点),这三部分内容:

bean基础配置

id与class配置
在这里插入图片描述

bean的name属性

bean的别名配置
在这里插入图片描述
在这里插入图片描述

bean作用范围scope配置

在这里插入图片描述

scope使用后续思考

介绍完scope属性以后,我们来思考几个问题:

  • 为什么bean默认为单例?
    • bean为单例的意思是在Spring的IOC容器中只会有该类的一个对象
    • bean对象只有一个就避免了对象的频繁创建与销毁,达到了bean对象的复用,性能高
  • bean在容器中是单例的,会不会产生线程安全问题?
    • 如果对象是有状态对象,即该对象有成员变量可以用来存储数据的,
      因为所有请求线程共用一个bean对象,所以会存在线程安全问题。
    • 如果对象是无状态对象,即该对象没有成员变量没有进行数据存储的,
      因方法中的局部变量在方法调用完成后会被销毁,所以不会存在线程安全问题。
  • 哪些bean对象适合交给容器进行管理?
    • 表现层对象
    • 业务层对象
    • 数据层对象
    • 工具对象
  • 哪些bean对象不适合交给容器进行管理?
    • 封装实例的域对象,因为会引发线程安全问题,所以不适合。

示例

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--name:为bean指定别名,别名可以有多个,使用逗号,分号,空格进行分隔-->
    <bean id="bookService" name="service service4 bookEbi" class="com.itheima.service.impl.BookServiceImpl">
        <property name="bookDao" ref="bookDao"/>
    </bean>

    <!--scope:为bean设置作用范围,可选值为单例singloton,非单例prototype-->
    <bean id="bookDao" name="dao" class="com.itheima.dao.impl.BookDaoImpl" scope="prototype"/>
</beans>

bean基础配置小结

关于bean的基础配置中,需要大家掌握以下属性:

在这里插入图片描述
[说明]:内容主要来源黑马程序员网上资源学习


http://www.kler.cn/a/397810.html

相关文章:

  • 网络学习第四篇
  • 要查看你的系统是 x64(64位)还是 x86(32位),可以按照以下步骤操作
  • 本地部署Apache Answer搭建高效的知识型社区并一键发布到公网流程
  • ubuntu22 安装 minikube
  • 单元测试、集成测试、系统测试、验收测试、压力测试、性能测试、安全性测试、兼容性测试、回归测试(超详细的分类介绍及教学)
  • Excel使用-弹窗“此工作簿包含到一个或多个可能不安全的外部源的链接”的发生与处理
  • XXL JOB DockerCompose部署
  • pytorch奇怪错误
  • WebRTC API分析
  • IPTV智慧云桌面,后台服务器搭建笔记
  • 《现代网络技术》读书笔记:SDN应用平面
  • 推荐一个基于协程的C++(lua)游戏服务器
  • 工业大数据分析与应用:开启智能制造新时代
  • 【mysql】基于城市多边形,配合mysql库,查询目标点是否在指定城市内
  • VSCode设置
  • RabbitMQ教程:工作队列(Work Queues)(二)
  • 推荐15个2024最新精选wordpress模板
  • centos7 升级openssl 与升级openssh 安装卸载 telnet-server
  • Go中数组和切片
  • stm32——通用定时器时钟知识点
  • 【小白可懂】微信小程序---课表渲染
  • 使用Python爬虫获取商品订单详情:从API到数据存储
  • FastAPI 中间件详解:实现高性能 Web 应用的完整指南和实际案例
  • 安装paddle
  • 鸿蒙学习基本概念
  • React Hooks 深度解析与实战