SpringUtils.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.example.resource.clue.convert.spring;
  2. import cn.hutool.extra.spring.SpringUtil;
  3. import org.springframework.aop.framework.AopContext;
  4. import org.springframework.beans.factory.NoSuchBeanDefinitionException;
  5. import org.springframework.stereotype.Component;
  6. /**
  7. * spring工具类
  8. */
  9. @Component
  10. public final class SpringUtils extends SpringUtil {
  11. /**
  12. * 如果BeanFactory包含一个与所给名称匹配的bean定义,则返回true
  13. *
  14. * @param name
  15. * @return boolean
  16. */
  17. public static boolean containsBean(String name) {
  18. return getBeanFactory().containsBean(name);
  19. }
  20. /**
  21. * 判断以给定名字注册的bean定义是一个singleton还是一个prototype。
  22. * 如果与给定名字相应的bean定义没有被找到,将会抛出一个异常(NoSuchBeanDefinitionException)
  23. *
  24. * @param name
  25. * @return boolean
  26. */
  27. public static boolean isSingleton(String name) throws NoSuchBeanDefinitionException {
  28. return getBeanFactory().isSingleton(name);
  29. }
  30. /**
  31. * @param name
  32. * @return Class 注册对象的类型
  33. */
  34. public static Class<?> getType(String name) throws NoSuchBeanDefinitionException {
  35. return getBeanFactory().getType(name);
  36. }
  37. /**
  38. * 如果给定的bean名字在bean定义中有别名,则返回这些别名
  39. *
  40. * @param name
  41. */
  42. public static String[] getAliases(String name) throws NoSuchBeanDefinitionException {
  43. return getBeanFactory().getAliases(name);
  44. }
  45. /**
  46. * 获取aop代理对象
  47. *
  48. * @param invoker
  49. * @return
  50. */
  51. @SuppressWarnings("unchecked")
  52. public static <T> T getAopProxy(T invoker) {
  53. return (T) AopContext.currentProxy();
  54. }
  55. }