我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Spring工厂特性有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Spring工厂特性有哪些

这篇文章主要介绍了Spring工厂特性有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、饿汉式创建优势

工厂创建之后,会将Spring配置文件中的所有对象都创建完成(饿汉式)。

提高程序运行效率。避免多次IO,减少对象创建时间。(概念接近连接池,一次性创建好,使用时直接获取)

二、生命周期方法

  • 自定义初始化方法:添加“init-method”属性,Spring则会在创建对象之后,调用此方法。

  • 自定义销毁方法:添加“destroy-method”属性,Spring则会在销毁对象之前,调用此方法。

  • 销毁:工厂的close()方法被调用之后,Spring会毁掉所有已创建的单例对象。

  • 分类:Singleton对象由Spring容器销毁、Prototype对象由JVM销毁。

三、生命周期注解

初始化注解、销毁注解

import javax.annotation.PostConstruct;import javax.annotation.PreDestroy; @PostConstruct //初始化 public void init(){    System.out.println("init method executed");} @PreDestroy //销毁public void destroy(){    System.out.println("destroy method executed");}

四、生命周期阶段

单例bean:singleton

随工厂启动创建 ==》 构造方法 ==》 set方法(注入值) ==》 init(初始化) ==》 构建完成 ==》随工厂关闭销毁

多例bean:prototype

被使用时创建 ==》 构造方法 ==》 set方法(注入值) ==》 init(初始化) ==》 构建完成 ==》JVM垃圾回收销毁

五、用例

User实体类

package com.cos.qf.entity; import javax.annotation.PostConstruct;import javax.annotation.PreDestroy;import java.util.*; public class User {    private Integer id;    private String password;    private String sex;    private Integer age;    private Date bornDate;    private String[] hobbys;    private Set<String> phones;    private List<String> names;    private Map<String,String> countries;    private Properties files;      @PostConstruct //初始化    public void init(){        System.out.println("被初始化了");    }     @PreDestroy //销毁    public void destroy(){        System.out.println("被销毁了");    }        public User() {        System.out.println("执行了无参构造");    }     public void setId(Integer id) {        System.out.println("set-id");        this.id = id;    }//get和set方法}

application-config.xml配置文件

 <bean id="user" class="com.cos.qf.entity.User" autowire="byType" init-method="init" destroy-method="destroy"></bean>

测试方法:不能用ClassPathXmlApplicationContext的父类(ApplicationContext)去关闭不然就报错

 @Test    public void text4() {        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("application-config.xml");        ctx.close();    }

Spring工厂特性有哪些 

结果: 

Spring工厂特性有哪些

感谢你能够认真阅读完这篇文章,希望小编分享的“Spring工厂特性有哪些”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Spring工厂特性有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Spring工厂特性有哪些

这篇文章主要介绍了Spring工厂特性有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、饿汉式创建优势工厂创建之后,会将Spring配置文件中的所有对象都创建完成(饿汉
2023-06-15

Spring的特性有哪些

Spring的特性有哪些?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Spring引入传统的基于mvc的项目框架结构:Entity / dao / servic
2023-05-31

Java Spring之Spring5的新特性有哪些

这篇文章主要介绍“Java Spring之Spring5的新特性有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java Spring之Spring5的新特性有哪些”文章能帮助大家解决问题。1
2023-07-05

亚马逊代工厂有哪些

亚马逊代工厂是指为亚马逊生产和制造产品的工厂。以下是一些亚马逊代工厂的例子:富士康科技集团:富士康是一家总部位于台湾的跨国电子制造公司,为亚马逊生产Kindle电子书阅读器和Fire平板电脑等产品。仁宝电脑工业股份有限公司:仁宝电脑是一家总部位于台湾的电子制造公司,为亚马逊生产Kindle电子书阅读器和Fire平板电脑等产品。东莞富泰华工业有限公司:东莞富泰华是一家总部位于中国广东省的电子制造公司,为亚马逊生产K...
2023-10-27

java中有哪些工厂模式

今天就跟大家聊聊有关java中有哪些工厂模式,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。简单工厂简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一个工厂对象决定创建
2023-06-20

FlexBuilder有哪些特性

这篇文章主要为大家展示了“FlexBuilder有哪些特性”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“FlexBuilder有哪些特性”这篇文章吧。【FlexBuilder】FlexBuild
2023-06-17

VB.NET有哪些特性

这篇文章将为大家详细讲解有关VB.NET有哪些特性,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。下面以VB2010为例加以说明。首先,在语言中取消连接符这个改动表面看很小,因为basic的开发者都知晓,原
2023-06-17

Node.js19有哪些特性

今天小编给大家分享一下Node.js19有哪些特性的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Node.js 14 将在
2023-07-04

graphql有哪些特性

这篇文章主要介绍“graphql有哪些特性”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“graphql有哪些特性”文章能帮助大家解决问题。graphql 是一种用于 API 的查询语言,对你的 AP
2023-06-27

thinkphp有哪些特性

本篇内容主要讲解“thinkphp有哪些特性”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“thinkphp有哪些特性”吧!thinkphp是一个免费开源的、快速的、简单的、面向对象的轻量级PHP
2023-06-29

Flutter有哪些特性

这篇文章主要介绍“Flutter有哪些特性”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Flutter有哪些特性”文章能帮助大家解决问题。一、Flutter是什么Flutter是 Google 于
2023-06-27

Django特性有哪些

这篇文章主要介绍了Django特性有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在正式开始学习Django框架前,我们不妨先来认识一下它的特性。我们可以简单的把特性分为
2023-06-14

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录