广告
返回顶部
首页 > 资讯 > 后端开发 > Python >使用Spring初始化加载InitializingBean()方法
  • 667
分享到

使用Spring初始化加载InitializingBean()方法

2024-04-02 19:04:59 667人浏览 安东尼

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

摘要

目录spring初始化加载InitializingBean()1、spring初始化bean有两种方式2、相同点3、不同点4、InitializingBean接口定义的源码如下所示5

Spring初始化加载InitializingBean()

1、spring初始化bean有两种方式

1)实现InitializingBean接口,继而实现afterPropertiesSet的方法 ;

2)利用类反射原理,配置加载文件,使用init-method标签直接注入bean。

2、相同点

实现注入bean的初始化。

3、不同点

实现的方式不一致。

接口比配置效率高,但是配置消除了对spring的依赖。而实现InitializingBean接口依然采用对spring的依赖。

4、InitializingBean接口定义的源码如下所示

//
// Source code recreated from a .class file by IntelliJ idea
// (powered by Fernflower decompiler)
//
 
package org.springframework.beans.factory; 
public interface InitializingBean {
    void afterPropertiesSet() throws Exception;
}

该方法在实现之后,会在程序加载完成之后执行。

5、由于代码在项目启动的时候会执行afterPropertiesSet()方法

如果方法中包含修改字段的信息,那么多次启动就会造成多次修改字段的内容。该方法常用的场景是数据库链接中使用。如果多次链接会造成一定的资源浪费。

除了修改字段类型外当然也可以做别的事,如:检查某表是否存在 存在的话里面的某值是否存在 不存在则添加。

6、这个方法将在所有的属性被初始化后调用

但是会在init前调用。如果代码是延迟加载,则马上执行。所以可以在类上加上@Lazy(false)注解,其中添加的内容如下:

    import org.springframework.context.annotation.Lazy;
    @Lazy(false)

这样spring容器初始化的时候afterPropertiesSet就会被调用,只需要实现InitializingBean接口就行。 

关于InitializingBean简单使用

InitializingBean接口为bean提供了初始化执行的方法,即afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候会执行该方法。

下面简单示例:

这是一个Spring组件Filer

实现了afterPropertiesSet方法

在这个方法中使用了一个被Autowired注入的Spring Bean:

debug启动项目

可以正常使用被注入的组件!

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 使用Spring初始化加载InitializingBean()方法

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

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

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

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

下载Word文档
猜你喜欢
  • 使用Spring初始化加载InitializingBean()方法
    目录Spring初始化加载InitializingBean()1、spring初始化bean有两种方式2、相同点3、不同点4、InitializingBean接口定义的源码如下所示5...
    99+
    2022-11-13
  • spring加载过程和初始化方法是什么
    Spring加载过程分为以下几个阶段: 资源定位:Spring框架会根据配置文件或注解扫描的方式,定位到配置文件或类文件的位置。 ...
    99+
    2023-10-26
    spring
  • Spring 容器初始化 register 与 refresh方法
    目录register方法refresh 方法1、prepareRefresh2、obtainFreshBeanFactory3、prepareBeanFactory4、postPro...
    99+
    2022-11-13
  • spring中bean的初始化方法是什么
    在Spring中,bean的初始化可以通过两种方式来完成:使用@Bean注解的initMethod属性或者实现Initializin...
    99+
    2023-09-21
    spring
  • Spring中Bean的加载与SpringBoot的初始化流程详解
    目录前言第一章 Spring中Bean的一些简单概念1.1 SpingIOC简介1.2 BeanFactory1.2.1 BeanDefinition1.2.2 BeanDefini...
    99+
    2022-11-12
  • Scratch3.0初始化加载七牛云上的sbs文件的方法
    下面通过代码介绍下Scratch3.0初始化加载七牛云上的sbs文件,代码如下所示: 编写组件 import PropTypes from 'prop-types'; impor...
    99+
    2022-11-12
  • dolphinscheduler初始化数据库,提示无法加载com.mysql.cj.jdbc.Driver
    一、软件版本 mysql8.0.20zookeeper3.8.0dolphinscheduler3.1.1 二、问题描述 dolphinscheduler3.1.1官方文档进行文件配置, 第一步,初始化MySQL数据库 bash tools...
    99+
    2023-09-29
    mysql
  • Swift初始化方法的使用介绍
    目录初始化初始化器初始化器的相互调用两段式初始化安全检查重写自动继承初始化 初始化器 1、类、结构体、枚举都可以定义初始化器 class Size { init(age: I...
    99+
    2022-11-13
  • springboot中项目启动时实现初始化方法加载参数
    目录springboot项目启动,初始化方法加载参数1.@PostConstruct说明2.@PreDestroy说明第一种:注解@PostConstruct第二种:实现Comman...
    99+
    2022-11-12
  • 使用Spring MVC如何启动初始化
    今天就跟大家聊聊有关使用Spring MVC如何启动初始化,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Web容器初始化过程web容器初始化的过程,其官方文档给出了这样的描述:Ins...
    99+
    2023-05-31
    springmvc
  • Spring源码解析容器初始化构造方法
    目录前言构造方法前言 Spring框架被广泛应用于我们的日常工作中,但是很长时间以来我都是只会使用,不懂它的作用原理。通过最近一段时间的阅读源码,个人发现通过阅读源码,能够帮助我们了...
    99+
    2022-11-13
  • Spring容器初始化register与refresh方法是什么
    这篇文章主要讲解了“Spring容器初始化register与refresh方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Spring容器初始化register与refresh方法是...
    99+
    2023-07-02
  • 浅谈SpringBoot资源初始化加载的几种方式
    目录一、问题二、资源初始化一、问题   在平时的业务模块开发过程中,难免会需要做一些全局的任务、缓存、线程等等的初始化工作,那么如何解决这个问题呢?方法有多种,但具体又要怎么选择呢?...
    99+
    2022-11-12
  • Git初始化查看添加提交的方法
    这篇文章主要讲解了“Git初始化查看添加提交的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Git初始化查看添加提交的方法”吧!1、Git最基础的使用方式(1)初始化本地版本库要对现有的...
    99+
    2023-06-30
  • spring容器启动实现初始化某个方法(init)
    spring容器启动 初始化某方法(init) 1、前言 很多时候,我们需要在项目启动的时候,就要完成某些方法的执行。今天整理了一个简单的方法,使用spring容器中bean的属性:...
    99+
    2022-11-12
  • Spring中Bean初始化和销毁的方法是什么
    今天小编给大家分享一下Spring中Bean初始化和销毁的方法是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Sprin...
    99+
    2023-07-06
  • spring容器启动如何实现初始化某个方法
    小编给大家分享一下spring容器启动如何实现初始化某个方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、前言很多时候,我们需要在项目启动的时候,就要完成某些...
    99+
    2023-06-20
  • IntelliJ IDEA使用git初始化仓库的使用方法
    使用方法  首先在Github或者Gitee上面新建一个仓库 复制仓库的链接 用idea在本地新建一个demo项目 点击菜单栏的VCS,按照下图进行选择,选择新建的...
    99+
    2022-11-12
  • 中项目启动时实现初始化方法的加载参数是什么
    中项目启动时实现初始化方法的加载参数是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。springboot项目启动,初始化方法加载参数今天我看到项目中用到了 ...
    99+
    2023-06-22
  • C#数组初始化的应用方法
    本篇内容介绍了“C#数组初始化的应用方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!C#数组初始化的应用在数据压缩方面的应用是什么呢?我们...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作