使用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) {
  
}

}

十一、Spring collections静态方法

CollectionUtils.mergeArrayIntoCollection

时间: 2024-11-06 04:29:27

使用spring构建基础框架的基础API的相关文章

基于SPRING构建J2EE框架

内容包括: 1.MAVEN工具使用, 2.J2EE框架技术选型, 3.基于JPA实现常见增删改查, 4.SPRING事务管理 4.spring-security安全管理, 5.spring-session分布式会话管理, 6.spring-security-OAUTH2的实现 下载地址:http://wenku.baidu.com/view/7d4d5bd1f524ccbff12184c9 CSDN资源地址:http://download.csdn.net/detail/json20080301

Java学习关于集合框架的基础接口--Collection接口

 集合框架(Collection  Framework)是Java最强大的子系统之一,位于java.util 包中.集合框架是一个复杂的接口与和类层次,提供了管理对象组的最新技术.Java集合框架标准化了程序处理对象组的方式. 集合框架在设计上需要满足几个目标.首先,框架必须是高性能的.基本集合(动态数组.链表.树以及哈希表)的实现是高效率的.很少需要手动编写这些数据引擎中的某一个.其次,框架必须允许不同类型的集合以类似的方式进行工作,并且具有高度的互操作性.再次,扩展或改造必须易于实现.为了满

彩食鲜开源基础框架 csx-bsf-all【开源】【原创】

开源csx-bsf-all Git地址 https://gitee.com/yhcsx/csx-bsf-all? 技术架构 彩食鲜技术架构概述 介绍 BSF 为 base service framework 的简写,定义为永辉彩食鲜技术团队的基础框架,用于基础服务的集成和跟业务无关的基础技术集成. BSF集成了自研的监控报警,用来监控各个服务系统的性能及异常告警.集成并封装Apollo,Rocket MQ,Redis, Elastic Search,ELK,XXLJOB, Sharding JD

基础架构、基础服务、基础平台、基础中间件等等

前言 程序开发毕竟还不是搬砖这种无脑体力劳动,需要事先有标准,有架构,有设计,绝对不是新公司今天创立,明天就可以开始编码的.其实很多公司在起步的时候没有财力和资源建设独立的基础架构或平台架构部门,甚至运维团队都没有,但是这不妨碍我们心中有一个蓝图知道努力的方向,本文我们就简单聊聊平台架构相关的工作内容(或者说作为一个技术管理,应该去梳理.统一.明确的部分)的蓝图.由于本文覆盖的内容比较多,只能抛砖引玉大概提一些,无法一一展开太详细的东西.图中的数字是我认为的优先级,仅供参考. 规范 规范它虽然不

微服务架构的基础框架选择:Spring Cloud还是Dubbo?

本文转自:http://mt.sohu.com/20160803/n462486707.shtml 最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论 微服务架构 .近期也看到各大技术社区开始组织一些沙龙和论坛来分享Spring Cloud的相关实施经验,这对于最近正在整理Spring Cloud相关套件内容与实例应用的我而言,还是有不少激励的. 目前,Spring Cloud在国内的知名度并不高,在前阵子的求职过程中,与一些互联网公司的架构师.技术VP或者CTO在交流时

微服务架构的基础框架选择:Spring Cloud还是Dubbo?

最近一段时间不论互联网还是传统行业,凡是涉及信息技术范畴的圈子几乎都在讨论微服务架构.近期也看到各大技术社区开始组织一些沙龙和论坛来分享Spring Cloud的相关实施经验,这对于最近正在整理Spring Cloud相关套件内容与实例应用的我而言,还是有不少激励的. 目前,Spring Cloud在国内的知名度并不高,在前阵子的求职过程中,与一些互联网公司的架构师.技术VP或者CTO在交流时,有些甚至还不知道该项目的存在.可能这也与国内阿里巴巴开源服务治理框架Dubbo有一定的关系,除了Dub

【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(前言)

一直希望能够搭建一个完整的,基础Web框架,方便日后接一些外快的时候,能够省时省力,终于花了一周的时间,把这个东西搞定了.特此写下此博客,一来是纪念,二来是希望能够为别人提供方便.顺带说一下,恩,组合框架的各个部分用的版本有的是最新的,有的则不是,不敢保证最新版本下,按照这个整合方式,不会报错... 简单介绍一下,本框架的基本功能点: Spring:整个框架的主体部分,这个自不用说. SpringMVC:MVC部分我还是比较喜欢Spring的. MyBatis:选型的时候选择这个ORM主要也是考

从头编写 asp.net core 2.0 web api 基础框架 (5) EF CRUD

原文:从头编写 asp.net core 2.0 web api 基础框架 (5) EF CRUD 第1部分:http://www.cnblogs.com/cgzl/p/7637250.html 第2部分:http://www.cnblogs.com/cgzl/p/7640077.html 第3部分:http://www.cnblogs.com/cgzl/p/7652413.html 第4部分:http://www.cnblogs.com/cgzl/p/7661805.html Github源码

从头编写 asp.net core 2.0 web api 基础框架 (3)

原文:从头编写 asp.net core 2.0 web api 基础框架 (3) 第一部分:http://www.cnblogs.com/cgzl/p/7637250.html 第二部分:http://www.cnblogs.com/cgzl/p/7640077.html Github源码地址:https://github.com/solenovex/Building-asp.net-core-2-web-api-starter-template-from-scratch 之前我介绍完了asp