IDEA+Maven多Module+spring4.3+springmvc+mybatis+redis整合Demo工程 附github地址

来源:互联网 发布:运行java程序 编辑:程序博客网 时间:2024/05/23 11:53

Demo已放到github: https://github.com/cbamls/restfulApi
Swagger简介:

Swagger 是一款RESTFUL接口的文档在线自动生成+功能测试功能软件。Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger 让部署管理和使用功能强大的API从未如此简单。

本项目简介:
1. 跟随“知秋”大神一步步学习J2EE,大神github:https://github.com/muyinchen
2. 整合Swagger构建一个开源restful接口管理平台
3. 目前只是整合好框架,未填充业务,所以是一个非常好的SSM Demo
4. 此文章只展示框架整合事宜,关于restfulAPI-idoc项目会有专门文章
项目整合结构大概这样:
这里写图片描述
其中idoc-common是项目通用工程,idoc-main是一个聚合工程,里面的四个Module把MVC做了分离,同时idoc-parent Module是所有模块的父工程,然后“小题大做”,抽出一个服务层对外提供rest业务调用,并独立出idoc-sso模块来做单点登录,redis来模拟session,idoc-sso统一管理登录认证、注册业务。
一些具体的操作:比如IDEA怎么多Module,maven依赖关系啥的,不扯了,大家自主学习
* 踩过的坑*

  1. spring4+后的版本不再有支持json交互的MappingJacksonHttpMessageConver类

之前版本这样配置:

<bean id="mappingJacksonHttpMessageConverter"       class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">        <property name="supportedMediaTypes">            <list>                <value>application/json;charset=UTF-8</value>            </list>        </property>    </bean>

spring4+后替换为:

  <bean id="stringConverter"          class="org.springframework.http.converter.StringHttpMessageConverter">        <property name="supportedMediaTypes">            <list>                <value>text/plain;charset=UTF-8</value>            </list>        </property>    </bean>    <bean id="jsonConverter"          class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>    <bean            class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">        <property name="messageConverters">            <list>                <ref bean="stringConverter" />                <ref bean="jsonConverter" />            </list>        </property>    </bean>

2.项目启动某Module控制台不打印框架内部日志
日志系统整合的是 slf4j + log4j。pom.xml添加jar包支持:
版本已在idoc-parent工程指定。

 <!--日志相关 采用slf4j + log4j-->        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-log4j12</artifactId>        </dependency>        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>slf4j-api</artifactId>        </dependency>        <dependency>            <groupId>org.slf4j</groupId>            <artifactId>jcl-over-slf4j</artifactId>            <scope>runtime</scope>        </dependency>        <dependency>            <groupId>log4j</groupId>            <artifactId>log4j</artifactId>        </dependency>        <!--日志相关 end-->

因为springframwork 内部用的common-logging作为抽象日志访问接口,我加的log4j作为底层实现,现在要想换用日益火爆的slf4j作为抽象访问层,就要把spring依赖的comm-logging给排除掉

  <dependency>            <groupId>org.springframework</groupId>            <artifactId>spring-core</artifactId>            <exclusions>                <exclusion>                    <artifactId>commons-logging</artifactId>                    <groupId>commons-logging</groupId>                </exclusion>            </exclusions>        </dependency>
0 0
原创粉丝点击