spring 常用接口和类(springdatajpa常用接口)

  本篇文章为你整理了spring 常用接口和类(springdatajpa常用接口)的详细内容,包含有spring的接口 springdatajpa常用接口 spring常用的类 spring配置接口 spring 常用接口和类,希望能帮助你了解 spring 常用接口和类。

  1.InitializingBean

  失效此接口的类,在初始化完成之后,会自动调用afterPropertiesSet()方法,但是在init-method方法之后(如果配置)

  

@Component

 

  public class InitializingBeanTest implements InitializingBean {

  
public void afterPropertiesSet() throws Exception {

   System.out.println("afterPropertiesSet 被调用");

  }

 

  2.BeanPostProcessor

   bean后置处理器,它是用来拦截所有 bean 的初始化的,在 bean 的初始化之前,和初始化之后做一些事情。这点从 BeanPostProcessor 接口的定义也可以看出来,它里面就两个方法:postProcessBeforeInitialization 和 postProcessAfterInitialization。

   2.1:后置处理器的postProcessorBeforeInitailization方法是在bean实例化,依赖注入之后及自定义初始化方法(例如:配置文件中bean标签添加init-method属性指定Java类中初始化方法、
@PostConstruct注解指定初始化方法,Java类实现InitailztingBean接口)之前调用
2.2:后置处理器的postProcessorAfterInitailization方法是在bean实例化、依赖注入及自定义初始化方法之后调用

  

@Component

 

  public class BeanPostProcessorTest implements BeanPostProcessor {

   public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {

   System.out.println("后置处理器处理bean=【"+beanName+"】开始");

   return bean;

   public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {

   System.out.println("后置处理器处理bean=【"+beanName+"】完毕");

   return bean;

  }

 

  3.ApplicationContextAware

   当一个类实现了这个接口之后,这个类就可以方便的获得ApplicationContext对象,然后从applicationContext对象中利用getBean()获取容器中的bean

  

@Component

 

  public class SpringContextHelper implements ApplicationContextAware {

   private static ApplicationContext applicationContext;

   @Override

   public void setApplicationContext(ApplicationContext context) throws BeansException {

   applicationContext = context;

   public static T T getInstance(String beanName, Class T beanType) {

   return applicationContext.getBean(beanName, beanType);

   public static T T getInstance(Class T bean) {

   return applicationContext.getBean(bean);

  }

 

  4.BeanFactoryAware

  同ApplicationContextAware对象一样,实现此接口可以获取到BeanFactory对象,然后利用getBean获取我们需要bean

  

 

 

  @Service

  public class BeanFactoryHelper implements BeanFactoryAware {

   private static BeanFactory beanFactory;

   @Override

   public void setBeanFactory(BeanFactory beanFactory) throws BeansException {

   this.beanFactory = beanFactory;

   public static Object getBean(String beanName){

   if(beanFactory == null){

   throw new NullPointerException("BeanFactory is null!");

   return beanFactory.getBean(beanName);

  }

 

  5.ApplicationRunner

  在项目完全启动后,调用实现此接口的方法。

  

@Component

 

  public class CommonRunner implements ApplicationRunner {

  
6.@PostConstruct

  在bean初始化之前调用,具体和afterPropertiesSet(),还有init-method调用顺序,可以看下spring的生命周期

  

  以上就是spring 常用接口和类(springdatajpa常用接口)的详细内容,想要了解更多 spring 常用接口和类的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: