mybatis - SpringUtil.java工具类有什么用啊?
PHP中文网
PHP中文网 2017-04-18 09:25:56
0
1
320

为什么要继承ApplicationContextAware实现ApplicationContext的这些相关方法,感觉这些方法都在spring中有提供的啊,写这个SpringUtil.java工具类有什么用啊?在代码中也没有看到别的地方有对这个工具类的引用??
代码如下:

import org.springframework.beans.BeansException;
import org.springframework.beans.factory.NoSuchBeanDefinitionException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
 
public class SpringContextUtil implements ApplicationContextAware {  
   private static ApplicationContext applicationContext;     //Spring应用上下文环境  
     
   public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {  
       SpringContextUtil.applicationContext = applicationContext;  
   }  

   public static ApplicationContext getApplicationContext() {  
     return applicationContext;  
   }  
    
   public static Object getBean(String name) throws BeansException {  
     return applicationContext.getBean(name);  
   } 
   
   public static <T> T getBean(Class<T> requiredType) {
       return applicationContext.getBean(requiredType);
   }
    
public static <T> T getBean(String name, Class<T> requiredType) throws BeansException {  
     return applicationContext.getBean(name, requiredType);  
   }  
    
   public static boolean containsBean(String name) {  
     return applicationContext.containsBean(name);  
   }  
    
   public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {  
     return applicationContext.isSingleton(name);  
   }  

   @SuppressWarnings("rawtypes")
public static Class getType(String name) throws NoSuchBeanDefinitionException {  
     return applicationContext.getType(name);  
   }  
    
   public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {  
     return applicationContext.getAliases(name);  
   }  
 }  
PHP中文网
PHP中文网

认证高级PHP讲师

répondre à tous(1)
刘奇

Il s'agit d'une classe d'outils pour obtenir des Bean instances, et elle n'a pas de signification particulière.

Lorsque le conteneur

Spring démarre, il trouve automatiquement toutes les implémentations ApplicationContextAware et y injecte l'attribut ApplicationContext, afin que SpringContextUtil puisse obtenir librement les instances Bean en fonction de leurs noms.

Lorsque vous devez obtenir manuellement l'instance Bean, vous pouvez utiliser directement la classe SpringContextUtil.

S'il n'a jamais été utilisé dans votre code, est-il possible que quelqu'un ait été si heureux qu'il ait copié ce paragraphe depuis Internet et l'ait jeté dans le projet sans se soucier de son utilisation ?

(Le dernier n'est que pure spéculation, désolé s'il y a des erreurs)

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!