使用spring构建基础框架的基础API

一、获取对象类名

Class<?> handlerClass = ClassUtils.getUserClass(handler);

二、查询一个方法上是否有某注解

RequestMapping mapping = AnnotationUtils.findAnnotation(method, RequestMapping.class);

三、  获取实现某一接口的类

BeanFactoryUtils.beansOfTypeIncludingAncestors(context, HandlerMapping.class, true, false);

四、  获取某字符串对应的类对象

Class<?> clazz = ClassUtils.forName(className, this.getClass().getClassLoader()); 

五、使用spring上下文创建受托管bean

protected Object createDefaultStrategy(ApplicationContext context, Class<?> clazz) {
    return context.getAutowireCapableBeanFactory().createBean(clazz);
}

 

六、  获取某传入对象的类属性,并据此在spring容器中查找它的注册对象名称beanName

getApplicationContext().getBeanNamesForType(Object.class)

 

七、  根据传入对象类的父代来查询所有spring容器中注册的beanName

BeanFactoryUtils.beanNamesForTypeIncludingAncestors(getApplicationContext(), Object.class)

 

八、  在spring容器中根据beanName查找出此对象上的对应某注解,注意不是所有注解

ApplicationContext context = getApplicationContext();
RequestMapping mapping = context.findAnnotationOnBean(beanName, RequestMapping.class);

九、  spring用beanName找出此对象的类类型

Class<?> handlerType = context.getType(beanName);

 

Method methodToInvoke = BridgeMethodResolver.findBridgedMethod(initBinderMethod);

 

ReflectionUtils.makeAccessible(methodToInvoke);

 

十、  获取有某注解的对象

String[] beanNames = (this.detectHandlersInAncestorContexts ?
      BeanFactoryUtils.beanNamesForTypeIncludingAncestors(getApplicationContext(), Object.class) :
      getApplicationContext().getBeanNamesForType(Object.class));//获取所有beanName

for (String beanName : beanNames) {

Class<?> handlerType = context.getType(beanName);

ApplicationContext context = getApplicationContext();

if (AnnotationUtils.findAnnotation(handlerType, Controller.class) != null) {
  
}

}

 
十一、获取classpath下的文件
File cfgFile = ResourceUtils.getFile("classpath:test.txt");


或者


org.springframework.core.io.Resource fileRource = new ClassPathResource("test.txt");


获取文件:fileRource.getFile();


获取文件流:fileRource.getInputStream();


十三、资源文件在jar中


org.springframework.core.io.Resource fileRource = new ClassPathResource("test.txt");


获取文件流:fileRource.getInputStream();

十四、Spring collections静态方法

CollectionUtils.mergeArrayIntoCollection

转载于:https://my.oschina.net/fir01/blog/512696

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值