博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学习 Spring (三) Bean 的配置项 & 作用域
阅读量:6367 次
发布时间:2019-06-23

本文共 1718 字,大约阅读时间需要 5 分钟。

学习笔记

配置项

  • Id: 整个 IoC 容器中的唯一标识
  • Class: 具体实例化的类(必须配置项)
  • Scope: 作用域
  • Constructor arguments: 构造器参数
  • Properties: 属性
  • Autowiring mode: 自动装配模式
  • lazy-initialization mode: 懒加载模式
  • Initialization/destruction method: 初始化/销毁 方法

作用域

  • singleton: 单例(默认模式),指一个 Bean 容器中只存在一份
  • prototype: 每次请求(每次使用创建新的实例),destory 方式不生效
  • request: 每次 http 请求创建一个实例且仅在当前 request 內有效
  • session: 同上,每次 http 请求创建,当前 session 内有效
  • global session: 基于 portlet 的 web 中有效(portlet 定义了 global session),如果是在 web 中同 session

作用域示例

添加 BeanScope:

public class BeanScope {        public void say() {        System.out.println("BeanScope say : " + this.hashCode());    }    }

singleton

添加配置文件 spring-beanscope-singleton.xml:

添加测试 TestBeanScopeSingleton:

@RunWith(BlockJUnit4ClassRunner.class)public class TestBeanScopeSingleton extends UnitTestBase {        public TestBeanScopeSingleton() {        super("classpath*:spring-beanscope-singleton.xml");    }        @Test    public void testSay() {        BeanScope beanScope = super.getBean("beanScope");        beanScope.say();                BeanScope beanScope2 = super.getBean("beanScope");        beanScope2.say();    }}

prototype

添加配置文件 spring-beanscope-prototype.xml:

添加测试 TestBeanScopePrototype:

@RunWith(BlockJUnit4ClassRunner.class)public class TestBeanScopePrototype extends UnitTestBase {    public TestBeanScopePrototype() {        super("classpath*:spring-beanscope-prototype.xml");    }        @Test    public void testSay() {        BeanScope beanScope = super.getBean("beanScope");        beanScope.say();        beanScope = super.getBean("beanScope");        beanScope.say();    }}

源码:

转载于:https://www.cnblogs.com/victorbu/p/10415863.html

你可能感兴趣的文章
Linux下双物理网卡设置成虚拟网卡
查看>>
Java Swing界面编程(25)---事件处理:鼠标事件及监听处理
查看>>
改动wordpress默认发邮件邮箱地址
查看>>
2019足协超级杯花落苏州 开幕战上演“京沪对决”
查看>>
统计局:2018年全国工业产能利用率为76.5%
查看>>
“大白兔”迎来60岁生日 各类衍生品受青睐
查看>>
西安火车站迎来“大手术”
查看>>
小米联手李嘉诚,长和将在全球17700家门店销售小米设备
查看>>
苹果将推出廉价版iPhoneX,售价直指5000区间,三星颤抖了么
查看>>
工业和信息化部:四个方面扩大升级信息消费
查看>>
春节期间我国出现大范围寒潮、雨雪冰冻天气的可能性较小
查看>>
华为小世界杯来了:从一棵树到一片森林的大赛
查看>>
[贝聊科技] iOS 终极横竖屏切换解决方案
查看>>
黑客真实生活复现 | 十部超赞黑客电影,周末肥宅生活必备!
查看>>
玩转 iOS 开发:NSURLSession 讲解 (一)
查看>>
我的iOS开发内容相关总结
查看>>
Event Loop的规范和实现
查看>>
『React Navigation 3x系列教程』之createStackNavigator开发指南
查看>>
头条系多闪:IM 战线上的另一块战场
查看>>
原生JS操作DOM
查看>>