转自:http://www.java265.com/JavaFramework/Spring/202205/3263.html
如果你将类交给Spring容器管理,但是需要Spring帮你运行初始化方法
此时我们可以借助InitializingBean接口实现初始化方法的效果
InitializingBean接口的原理:
Spring实例化一个类后,会调用类中的afterPropertiesSet方法,达到初始化初始化方法的目的
下文笔者讲述Spring中InitializingBean接口的功能简介说明,如下所示
InitializingBean接口的功能
InitializingBean接口 为bean提供了初始化方法的方式 这个接口中只包括afterPropertiesSet方法 凡是继承该接口的类 在初始化bean的时,都会运行afterPropertiesSet方法
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://www.springframework.org/schema/beans\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:context=\"http://www.springframework.org/schema/context\" xmlns:dubbo=\"http://code.alibabatech.com/schema/dubbo\" xmlns:mvc=\"http://www.springframework.org/schema/mvc\" xmlns:aop=\"http://www.springframework.org/schema/aop\" xmlns:tx=\"http://www.springframework.org/schema/tx\" xsi:schemaLocation= \"http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.2.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.2.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/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...
来源:https://www.cnblogs.com/java265/p/16221287.html
本站部分图文来源于网络,如有侵权请联系删除。