Spring实战之Bean的作用域singleton和prototype用法分析

 更新时间:2019年11月16日 09:16:40   作者:cakincqm  
这篇文章主要介绍了Spring实战之Bean的作用域singleton和prototype用法,结合实例形式分析了Bean的作用域singleton和prototype相关使用方法及操作注意事项,需要的朋友可以参考下

本文实例讲述了Spring实战之Bean的作用域singleton和prototype用法。分享给大家供大家参考,具体如下:

一 配置

<?xml version="1.0" encoding="GBK"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="http://www.springframework.org/schema/beans"
  xsi:schemaLocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans-4.0.xsd">
  <!-- 配置一个singleton Bean实例 -->
  <bean id="p1" class="org.crazyit.app.service.Person"/>
  <!-- 配置一个prototype Bean实例 -->
  <bean id="p2" class="org.crazyit.app.service.Person"
   scope="prototype"/>
  <bean id="date" class="java.util.Date"/>
</beans>

二 Bean

package org.crazyit.app.service;
public class Person
{
  private int age;
}

三 测试类

package lee;
import org.springframework.context.*;
import org.springframework.context.support.*;
public class BeanTest
{
 public static void main(String[] args)throws Exception
 {
  // 以类加载路径下的beans.xml文件创建Spring容器
  ApplicationContext ctx = new
   ClassPathXmlApplicationContext("beans.xml"); // ①
  // 判断两次请求singleton作用域的Bean实例是否相等
  System.out.println(ctx.getBean("p1")
   == ctx.getBean("p1"));
  // 判断两次请求prototype作用域的Bean实例是否相等
  System.out.println(ctx.getBean("p2")
   == ctx.getBean("p2"));
  System.out.println(ctx.getBean("date"));
  Thread.sleep(1000);
  System.out.println(ctx.getBean("date"));
 }
}

四 测试结果

true
false
Thu Sep 19 20:56:59 CST 2019
Thu Sep 19 20:56:59 CST 2019

更多关于java相关内容感兴趣的读者可查看本站专题:《Spring框架入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • Java是自学好还是参加培训班好?

    Java是自学好还是参加培训班好?

    这篇文章主要介绍了Java是自学好还是参加培训班好这一问题,给大家介绍了哪些人适合自学java,哪些人适合java培训班学习,大家可以看看内容详情
    2018-04-04
  • Java并发编程之ThreadLocal详解

    Java并发编程之ThreadLocal详解

    今天给大家带来的是Java并发编程的相关知识,文中对ThreadLocal做了非常详细的分析及介绍,对小伙伴们很有帮助,需要的朋友可以参考下
    2021-06-06
  • 关于Java Object你真的了解了吗

    关于Java Object你真的了解了吗

    下面小编就为大家带来一篇关于Java Object你真的了解了吗。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Java之String类型的编码方式转换

    Java之String类型的编码方式转换

    这篇文章主要介绍了Java之String类型的编码方式转换,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • Spring中的AOP面向切面编程详解

    Spring中的AOP面向切面编程详解

    这篇文章主要介绍了Spring中的AOP面向切面编程详解,AOP 即面向切面编程,和 OOP面向对象编程类似,也是一种编程思想,AOP采取横向抽取机制(动态代理),取代了传统纵向继承机制的重复性代码,其应用主要体现在事务处理、日志管理、权限控制等方面,需要的朋友可以参考下
    2024-01-01
  • Java在ElasticSearch中使用LocalDatetime类型

    Java在ElasticSearch中使用LocalDatetime类型

    最近在开发一个搜索功能的需求的时候,遇到了LocalDatetime类型不能保存到ElasticSearch中的问题,这篇文章主要介绍了Java在ElasticSearch中使用LocalDatetime类型
    2023-10-10
  • Spring Cache抽象-使用SpEL表达式解析

    Spring Cache抽象-使用SpEL表达式解析

    这篇文章主要介绍了Spring Cache抽象-使用SpEL表达式解析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • java集合Collection常用方法解读

    java集合Collection常用方法解读

    这篇文章主要介绍了java集合Collection常用方法解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Java 进程执行外部程序造成阻塞的一种原因

    Java 进程执行外部程序造成阻塞的一种原因

    前一阵子在研究文档展示时使用了java进程直接调用外部程序,其中遇到一个问题花了好长时间才解决,这个问题就是外部程序直接执行没什么问题,但是当使用Java进程执行时外部程序就阻塞在那儿不动了。而且这个外部程序在处理某些文件时使用Java进程执行是没问题的
    2014-03-03
  • java数据结构基础:循环链表和栈

    java数据结构基础:循环链表和栈

    这篇文章主要介绍了Java数据结构之循环链表、栈的实现方法,结合实例形式分析了Java数据结构中循环链表、栈、的功能、定义及使用方法,需要的朋友可以参考下
    2021-08-08

最新评论