广告
返回顶部
首页 > 资讯 > 后端开发 > Python >详解Spring工厂特性
  • 872
分享到

详解Spring工厂特性

2024-04-02 19:04:59 872人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录一、饿汉式创建优势二、生命周期方法三、生命周期注解四、生命周期阶段五、用例一、饿汉式创建优势 工厂创建之后,会将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工厂特性内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 详解Spring工厂特性

本文链接: https://www.lsjlt.com/news/126350.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 详解Spring工厂特性
    目录一、饿汉式创建优势二、生命周期方法三、生命周期注解四、生命周期阶段五、用例一、饿汉式创建优势 工厂创建之后,会将Spring配置文件中的所有对象都创建完成(饿汉式)。 提高程序运...
    99+
    2022-11-12
  • Spring工厂特性有哪些
    这篇文章主要介绍了Spring工厂特性有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、饿汉式创建优势工厂创建之后,会将Spring配置文件中的所有对象都创建完成(饿汉...
    99+
    2023-06-15
  • Java工厂模式之简单工厂,工厂方法,抽象工厂模式详解
    目录1、简单工厂模式1.定义2.代码案例3.适用场景4.优缺点2、工厂方法模式1.定义2.代码案例3.适用场景4.优缺点3、抽象工厂模式1.定义2.代码案例3.适用场景4.优缺点4、...
    99+
    2022-11-13
  • Spring IOC xml方式进行工厂Bean操作详解
    spring中有两种Bean 第一种 普通 Bean 就是我们在配置文件中 定义的类对象 创建bean 并定义相关的id和声明类对象 普通bean的特点在于 在配置文件中定义的类型 ...
    99+
    2023-01-29
    Spring Bean操作 Spring IOC xml Bean操作
  • JavaScript工厂模式详解
    目录简单工厂模式(Simple Factory)工厂方法模式(Factory Method)安全的工厂方法抽象工厂模式(Abstract Factory)总结简单工厂模式(Simpl...
    99+
    2022-11-12
  • Spring框架开发IOC两种创建工厂方法详解
    1.IOC有两种创建工厂的方法 IoC 通过工厂模式创建 bean 的方式有两种: 静态工厂方法 实例工厂方法 2.两种方法的不同 2.1静态方法创建 就是直接可以通过静态方法来实例...
    99+
    2022-11-12
  • Spring事物的传播特性详解
    目录一、事务的传播性二、测试前准备2.1、准备好数据库表2.2、初始化spring项目2.3、数据库连接信息配置2.4、Service、Dao2.5、测试类2.6、说明三、使用其他传...
    99+
    2022-11-12
  • Java工厂设计模式课程详解
    工厂模式是Java中最常用的设计模式之一。 这种类型的设计模式属于创建模式,因为此模式提供了创建对象的最佳方法之一。 在工厂模式中,我们没有创建逻辑暴露给客户端创建对象,并使用一个通用的接口引用新创建的对象。 (推荐学习:jav...
    99+
    2016-01-06
    java教程 Java
  • Java简单工厂模式详细解释
    目录简单工厂模式概述简单工厂模式的结构与实现结构:实现简单工厂模式的简化简单工厂模式的优缺点和适用环境简单工厂模式的优点简单工厂模式的缺点简单工厂模式的适用环境简单案例题目:UML:...
    99+
    2022-11-12
  • 详解Java项目中的工厂模式
    详解Java项目中的工厂模式?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 简单工厂模式    当需要加法类的时候,调用工厂类的CreateOperate(),要指定制造的...
    99+
    2023-05-31
    工厂模式 java ava
  • spring中的特殊注解@RequiredArgsConstructor详解
    目录1.注解注入:2.构造器注入:3.setter注入:Lombok在spring中的特殊注解@RequiredArgsConstructor 在了解lombok中的特殊注解之前:了...
    99+
    2022-11-13
  • java设计模式之工厂方法详解
    一、概念         工厂方法模式是类的创建模式,又叫虚拟构造子模式(virtual constructor) 或者多态性工厂模式。二、模式动机 ...
    99+
    2023-05-31
    java 设计模式 工厂方法
  • java设计模式之抽像工厂详解
     一、概念  提供一个创建一系列相关或相互依赖对像的接口,而无需指定它们具体的类。二、模式动机  这一系列对像之间是相互依赖的,相当于一个产品族 三、模式的结构通过上图我们可以清楚的看到抽像工厂模式包括以下4个角色:  ...
    99+
    2023-05-31
    java 设计模式 抽像工厂
  • PHP设计模式之工厂模式详解
    工厂模式是一种创建型设计模式,它提供了一种统一的方式来创建对象,而不用直接实例化对象。工厂模式可以隐藏对象创建的细节,客户端只需要调...
    99+
    2023-08-14
    php
  • 详解Java实践之抽象工厂模式
    目录一、前言二、开发环境三、抽象工厂模式介绍四、案例场景模拟4.1、场景模拟工程4.2、场景简述4.2.1、模拟单机服务 RedisUtils4.2.2、模拟集群 EGM4.2.3、...
    99+
    2022-11-12
  • Spring @Transactional工作原理详解
    本文将深入研究Spring的事务管理。主要介绍@Transactional在底层是如何工作的。之后的文章将介绍:propagation(事务传播)和isolation(隔离性)等属性的使用事务使用的陷阱有哪些以及如何避免JPA和事务管理很重...
    99+
    2023-05-30
  • java设计模式--三种工厂模式详解
    目录简单工厂代码:1.产品接口2.产品接口实现子类3.简单工厂类4.调用工厂5.测试工厂方法代码:1.工厂接口2.工厂实现子类3.产品接口4.产品实现子类5.调用6.测试1.产品接口...
    99+
    2022-11-12
  • Java设计模式——工厂设计模式详解
    工厂模式:主要用来实例化有共同接口的类,工厂模式可以动态决定应该实例化那一个类。工厂模式的形态工厂模式主要用一下几种形态:简单工厂(Simple Factory)。2:工厂方法(Factory Method)。3:抽象工厂(Abstract...
    99+
    2023-05-30
    java 设计模式 ava
  • Tapestry5新特性详解
    Tapestry5是一个轻量级的、开源的Java Web框架,它提供了一种简化Web开发的方式。下面是Tapestry5的一些新特性...
    99+
    2023-09-22
    Tapestry
  • redis 详解(1)特性
    redis 是什么 开源的基于键值的存储服务系统,支持多种数据结构,高性能、功能丰富 redis 特性 速度快(10w OPS) 数据存储内存中 C 语言编写 单线程模型 持久化 redis 所有数据保存在内存中,对数据更新将异步...
    99+
    2016-08-15
    redis 详解(1)特性
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作