您的位置:首页 > 编程语言 > Java开发

SpringBoot构建Restful Api项目开发——思考如何做项目框架

2018-03-10 00:40 645 查看
摘要: SpringBoot构建Restful Api项目开发——思考如何做项目框架

用SpringBoot搭建Restful Api项目框架,框架是组里一个经验特别丰富的高级工程师搭建起来的,看起来特别的漂亮(完善,教科书般的!)记录下来,作为学习的资料:

一、代码项目结构如下:



二、框架实现的要点



要点一、在MvcConfig中添加框架级的JSON包裹:

继承FastJsonHttpMessageConverter,重写两个方法:

protected object readInternal()

protected void writeInternal()

要点二、在MvcConfig中添加统一的异常处理:

1、定义框架通用异常CommonException

系统级异常、服务级异常,异常code,错误提示等

2、CommonHandlerExceptionResolver实现了HandlerExceptionResolver接口:

重写方法如下:

public ModelAndView resolveException()

要点三:在MvcConfig中配置请求日志拦截器

RequestLogInterceptor继承HandlerInterceptorAdapter抽象,重写两个方法:

public boolean preHandle()

public void afterCompletion()

要点四:在MvcConfig中配置权限验证拦截器

AuthInterceptor继承HandlerInterceptorAdapter,重写方法如下:

public boolean preHandle()

这里采用接入公司级的统一的passport,使用google guava做定时缓存,从cookie中取信息做校验。

要点五:DbConfig实现TransactionManagementConfigurer接口实现数据访问配置

1、使用alibaba的Druid数据库连接池

2、配置全局事物管理器

3、使用Jdbctemplate

要点六:RedisConfig使用切面的方式配置redis访问

@Aspect、@Pointcut、@After

要点七:TomcatConfig配置SpringBoot内嵌的Tomcat

配置Bean如下:

@Bean

public TomcatEmbeddedServletContainFactory createEmbeddedServletContainFactory()

要点八:LockConfig配置分布式锁共redis使用:

@Bean(name="defaultLock")

public LockUtil lockUtil(@Qualifier("jedisFactory") JedisFactory jedisFactory){

return new LockUtil(jedisFactory);

}

要点九:在maven中配置<profiles></profiles>来配置不同环境下的resouces配置文件

三、项目之外的思考

每一个项目都有一个人做基础框架,这就不仅仅是实现一个API就够了,还需要考虑很多:

1、统一的异常处理

2、API权限?

3、权限认证

4、统一的查询过滤

5、缓存可以如何做的更简单统一

6、代码分层



收获很多,做IT行业中的手艺人!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐