首页 > 其他分享 >Bean的拓展和应用

Bean的拓展和应用

时间:2023-02-12 21:33:05浏览次数:37  
标签:装配 方式 spring bean 拓展 Bean 自动 应用

一.Bean的作用域

1.单例模式(spring的默认机制,即拿相同的bean的时候对象都是相同的,不会造成资源浪费)

<bean id="user" class="top.lostyou.pojo.user" p:name="jay周" p:sex="男" scope="singleton"/>

 

2.原型模式:每次从容器中get的时候,都会产生一个新的对象!(比较浪费资源)

<bean id="user" class="top.lostyou.pojo.user" p:name="jay周" p:sex="男" scope="prototype"/>

 

3.其余的request(每次请求中生效),session,application(全局生效)都是web开发的时候用的

 二.Bean的自动装配

自动装配是spring满足bean依赖的一种方式!

spring会在上下文中自动寻找,并且自动给bean装配属性!

在spring中一共有三种自动装配的方式

  1. 在xml中显示的配置
  2. 在Java中显示的配置
  3. 隐式的自动装配bean(重点)

第一种:byName方式的自动装配

    <bean id="cat" class="top.lostyou.pojo.Cat"/>
    <bean id="dog" class="top.lostyou.pojo.Dog"/>

    <!--
    byName:会自动在容器上下文中查找,和自己对象的set方法后面的值对应的  bean id
      -->
    <bean id="People" class="top.lostyou.pojo.People" autowire="byName">
        <property name="name" value="maming"/>

    </bean>

 

第一种:byType方式的自动装配

    <bean id="cat" class="top.lostyou.pojo.Cat"/>
    <bean id="dog" class="top.lostyou.pojo.Dog"/>

    <!--
    byName:会自动在容器上下文中查找,和自己对象的class(类型)对应的  bean
      -->
    <bean id="People" class="top.lostyou.pojo.People" autowire="byType">
        <property name="name" value="maming"/>

    </bean>

 

 注意点:

  • byName的自动装配方式需要保证bean的id唯一性,并且这个bean需要和自动注入的属性set方法一致!
  • byType的自动装配方式需要保证bean的类型唯一性,并且这个bean需要和自动注入的属性类型(class)一致!

 

标签:装配,方式,spring,bean,拓展,Bean,自动,应用
From: https://www.cnblogs.com/5ran2yl/p/17114763.html

相关文章

  • 大爽Python入门教程 2-7 *拓展实践,对比与思考
    大爽Python入门公开课教案点击查看教程总目录本文偏难。推荐等第一二三四章上完后,回过来拓展阅读。基础情景思考假设有这样一张成绩表最左边的一列是名字,起名麻......
  • 大爽Python入门教程 2-6 拓展练习
    大爽Python入门公开课教案点击查看教程总目录方位输出第一章有一个思考题,方位变换:小明同学站在平原上,面朝北方,向左转51次之后(每次只转90度),小明面朝哪里?小明转过......
  • 嵌入式Linux—Framebuffer应用编程
    Framebuffer应用编程Frame的意思是帧,buffer的意思是缓冲区。Framebuffer就是一块内存(硬件设备),里面保存着一帧图像。ioctl()函数解析ioctl()函数非常强大。不同的驱......
  • java——spring boot集成RabbitMQ——路由模式——应用场景
    如果多个队列都绑定了同一个交换机,通过路由key,指定消息到哪个消息队列     ......
  • ChatGPT介绍、注册使用和应用场景
    ChatGPT介绍ChatGPT是一种由OpenAI开发的大型语言模型,被广泛用于对话生成、问答生成、文本生成等任务。这种模型基于Transformer架构,在训练时使用了大量的文本数据,因此具......
  • 双麦阵列拾音束降噪模块A-68连接应用说明和强噪音下测试效果
    上一篇讲了A-68的双麦阵列拾音束原理,有兴趣的朋友可以到我的空间主题查看上一篇,这一次我们来讲一下A-68模块的功能和应用连接,由于论坛不支持音视频格式,所以文章末尾附上A-68......
  • 【LeetCode字符串#05】基于个人理解的KMP算法图解,以及应用到strStr()函数实现
    KMP算法(用于实现strStr())strStr()函数是用来在一个字符串中搜索是否存在另一个字符串的函数,其匹配字符串方式为KMP算法KMP算法基础理论假设有如下两个字符串文本串......
  • 022_第三方 bean 属性绑定
    @ConfigurationProperties使用 @ConfigurationProperties为第三方bean绑定属性:    解除使用@ConfigurationProperties注释警告:    @EnableConf......
  • 应用层-上
    概述:网络应用的体系结构:1.Client/Server客户机服务器结构,服务器运行服务器软件。(web)2.peertopeer 点对点结构:没有永远在线的服务器,结......
  • django-channels实际应用
    django实现websocket实时数据推送。应用场景群组/单对单语音聊天页面数据实时推送(后端主导)技术django+channelsdjango>=2channels官方wsgiWeb服务器网关接口(P......