好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

详解Spring中InitializingBean接口的功能

Spring的InitializingBean接口有很好的用处,位于spring beans中,它只提供一个方法afterPropertiesSet(),当你实现了该方法后,spring就会对你提供框架级的支持:当你通过sring容器生产出实现了该接口的类的实例后,它就会调用afterPropertiesSet方法,通过这个方法,你可以检查你的bean是否正确地被初始化了.当然,你也可以用init-method方法.这两种方式可以同时使用,调用的顺序为init-method后调用.

下面介绍下Spring中InitializingBean接口的功能,内容如下所示:

如果你将类交给Spring容器管理,但是需要Spring帮你运行初始化方法

此时我们可以借助InitializingBean接口实现初始化方法的效果

InitializingBean接口的原理:

Spring实例化一个类后,会调用类中的afterPropertiesSet方法,达到初始化初始化方法的目的

下文笔者讲述Spring中InitializingBean接口的功能简介说明,如下所示

InitializingBean接口的功能

InitializingBean接口

为bean提供了初始化方法的方式

这个接口中只包括afterPropertiesSet方法

凡是继承该接口的类

在初始化bean的时,都会运行afterPropertiesSet方法

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

import org.springframework.beans.factory.InitializingBean;

import org.springframework.stereotype.Service;

public class InitBean implements InitializingBean{

     public void afterPropertiesSet() throws Exception {

        System.out.println( "启动时自动执行 afterPropertiesSet..." );

     }

     public void init(){

         System.out.println( "init method..." );

     }

} 

---配置文件-----

<?xml version= "1.0" encoding= "UTF-8" ?>

<beans xmlns= "http://HdhCmsTestspringframework.org/schema/beans"

     xmlns:xsi= "http://HdhCmsTestw3.org/2001/XMLSchema-instance"

     xmlns:context= "http://HdhCmsTestspringframework.org/schema/context"

     xmlns:dubbo= "http://code.alibabatech测试数据/schema/dubbo"

     xmlns:mvc= "http://HdhCmsTestspringframework.org/schema/mvc"

     xmlns:aop= "http://HdhCmsTestspringframework.org/schema/aop"

     xmlns:tx= "http://HdhCmsTestspringframework.org/schema/tx"

     xsi:schemaLocation=

     "http: //HdhCmsTestspringframework.org/schema/beans http://HdhCmsTestspringframework.org/schema/beans/spring-beans-3.2.xsd

      http: //HdhCmsTestspringframework.org/schema/mvc http://HdhCmsTestspringframework.org/schema/mvc/spring-mvc-3.2.xsd

      http: //HdhCmsTestspringframework.org/schema/aop http://HdhCmsTestspringframework.org/schema/aop/spring-aop-3.2.xsd

      http: //HdhCmsTestspringframework.org/schema/tx http://HdhCmsTestspringframework.org/schema/tx/spring-tx-3.2.xsd

      http: //HdhCmsTestspringframework.org/schema/context http://HdhCmsTestspringframework.org/schema/context/spring-context-3.2.xsd

      http: //code.alibabatech测试数据/schema/dubbo http://code.alibabatech测试数据/schema/dubbo/dubbo.xsd"

      default -lazy-init= "true" >

     <bean id= "initBean"   class = "com.java265.InitBean" init-method= "init" > </bean>

</beans>  

---main程序----

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.FileSystemXmlApplicationContext;

public class Main {

     public static void main(String[] args) {

         ApplicationContext context = new

                 FileSystemXmlApplicationContext( "classpath:/applicationContext-core.xml" );

         context.getBean( "initBean" );

     }

}  

-----运行以上代码,将输出以下信息---------

  启动时自动执行 afterPropertiesSet...

init method...

到此这篇关于Spring中InitializingBean接口的功能的文章就介绍到这了,更多相关Spring InitializingBean接口内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

原文链接:https://HdhCmsTestcnblogs测试数据/java265/archive/2022/05/04/16221287.html

查看更多关于详解Spring中InitializingBean接口的功能的详细内容...

  阅读:10次