spring-mvc.xml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:tx="http://www.springframework.org/schema/tx" xmlns:task="http://www.springframework.org/schema/task"
  6. xsi:schemaLocation="http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://www.springframework.org/schema/context
  9. http://www.springframework.org/schema/context/spring-context.xsd
  10. http://www.springframework.org/schema/mvc
  11. http://www.springframework.org/schema/mvc/spring-mvc.xsd
  12. http://www.springframework.org/schema/task
  13. http://www.springframework.org/schema/task/spring-task.xsd">
  14. <!-- http://cxf.apache.org/jaxws -->
  15. <!-- http://cxf.apache.org/schemas/jaxws.xsd -->
  16. <context:property-placeholder location="classpath:config.properties" ignore-unresolvable="true"/>
  17. <!-- 自动扫描controller包下的所有类,使其认为spring mvc的控制器 -->
  18. <!-- 加载controller的时候,不加载service,因为此时事物并未生效,若此时加载了service,那么事物无法对service进行拦截 -->
  19. <context:component-scan
  20. base-package="org.jeecgframework.web.*,com.jeecg.*,jeecg.workflow.*,org.jeecgframework.workflow.*,cn.com.lzt.*,com.xcgl.*">
  21. <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
  22. </context:component-scan>
  23. <context:component-scan base-package="com.daju">
  24. <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Service"/>
  25. </context:component-scan>
  26. <mvc:annotation-driven>
  27. <!-- 处理responseBody 里面日期类型 -->
  28. <mvc:message-converters>
  29. <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
  30. <property name="objectMapper">
  31. <bean class="com.fasterxml.jackson.databind.ObjectMapper">
  32. <property name="dateFormat">
  33. <bean class="java.text.SimpleDateFormat">
  34. <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/>
  35. </bean>
  36. </property>
  37. </bean>
  38. </property>
  39. </bean>
  40. </mvc:message-converters>
  41. </mvc:annotation-driven>
  42. <!-- ApplicationContext -->
  43. <bean class="org.jeecgframework.core.util.ApplicationContextUtil"></bean>
  44. <bean class="org.jeecgframework.p3.core.utils.common.ApplicationContextUtil"></bean>
  45. <!-- 避免IE执行AJAX时,返回JSON出现下载文件 -->
  46. <bean id="mappingJacksonHttpMessageConverter"
  47. class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
  48. <property name="supportedMediaTypes">
  49. <list>
  50. <value>text/html;charset=UTF-8</value>
  51. <value>application/json;charset=UTF-8</value>
  52. <value>text/plain;charset=UTF-8</value>
  53. </list>
  54. </property>
  55. </bean>
  56. <!-- 对静态资源文件的访问, 将无法mapping到Controller的path交给default servlet handler处理 -->
  57. <mvc:default-servlet-handler/>
  58. <!-- 钉钉考勤同步SDK配置 START -->
  59. <bean id="defaultConfig" class="com.dingtalk.open.client.DefaultConfig">
  60. <property name="apiBasePackage" value="com.dingtalk.open.client.api"/><!--存放API代码的包路径-->
  61. <property name="globalHttpConfig"><!--全局配置-->
  62. <bean class="com.dingtalk.open.client.DefaultConfig.HttpConfig">
  63. <property name="readTimeout" value="30000"/><!--发出http请求后,在收到响应前等待的最长时间,超过等待时间则抛出服务器没有返回数据的异常,单位毫秒-->
  64. <property name="connectTimeout" value="3000"/><!--建立http连接最长等待时间,超过等待时间则抛出连接建立失败的异常,单位毫秒-->
  65. </bean>
  66. </property>
  67. <property name="folwControl"><!--流控选项-->
  68. <bean class="com.dingtalk.open.client.DefaultConfig.FolwControl">
  69. <property name="isUse" value="true"/><!--是否启用流控,默认启用-->
  70. <property name="maxQpm" value="1500"/><!--流控开启时,每分钟发送请求的最大次数-->
  71. <property name="threadPoolSize" value="4"/><!--从流控队列读取任务的线程池中线程的数量,默认4-->
  72. </bean>
  73. </property>
  74. <property name="customHttpConfig"><!--自定义配置项,优先级高于全局配置-->
  75. <map>
  76. <entry key="/service/get_suite_token"><!--服务端接口-->
  77. <bean class="com.dingtalk.open.client.DefaultConfig.HttpConfig">
  78. <property name="requestTimeout" value="1000"/><!--在服务器返回全部结果前等待的最长时间,单位毫秒-->
  79. </bean>
  80. </entry>
  81. </map>
  82. </property>
  83. </bean>
  84. <bean id="serviceFactory"
  85. class="com.dingtalk.open.client.spring.DingOpenClientServiceFactoryBean">
  86. <property name="defaultConfig" ref="defaultConfig"/>
  87. </bean>
  88. <bean id="corpConnectionService" class="com.dingtalk.open.client.spring.DingOpenClientApiBean">
  89. <property name="serviceFactory" ref="serviceFactory"/>
  90. <property name="interfaceName"
  91. value="com.dingtalk.open.client.api.service.corp.CorpConnectionService"/>
  92. </bean>
  93. <bean id="corpUserService" class="com.dingtalk.open.client.spring.DingOpenClientApiBean">
  94. <property name="serviceFactory" ref="serviceFactory"/>
  95. <property name="interfaceName"
  96. value="com.dingtalk.open.client.api.service.corp.CorpUserService"/>
  97. </bean>
  98. <!-- 钉钉考勤同步SDK配置 END -->
  99. <!-- 默认的视图解析器 在上边的解析错误时使用 (默认使用html)- -->
  100. <bean id="defaultViewResolver"
  101. class="org.springframework.web.servlet.view.InternalResourceViewResolver"
  102. p:order="3">
  103. <property name="viewClass"
  104. value="org.springframework.web.servlet.view.JstlView"/>
  105. <property name="contentType" value="text/html"/>
  106. <property name="prefix" value="/webpage/"/>
  107. <property name="suffix" value=".jsp"/>
  108. </bean>
  109. <bean id="multipartResolver"
  110. class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
  111. p:defaultEncoding="UTF-8">
  112. <property name="maxUploadSize">
  113. <value>104857600</value>
  114. </property>
  115. <property name="maxInMemorySize">
  116. <value>4096</value>
  117. </property>
  118. </bean>
  119. <!-- Bean解析器,级别高于默认解析器,寻找bean对象进行二次处理 -->
  120. <bean id="beanNameViewResolver"
  121. class="org.springframework.web.servlet.view.BeanNameViewResolver" p:order="0">
  122. </bean>
  123. <!-- Excel 处理 根据用户输入进行对象处理 -->
  124. <bean id="jeecgExcelView" class="org.jeecgframework.poi.excel.view.JeecgSingleExcelView"/>
  125. <bean id="jeecgTemplateExcelView" class="org.jeecgframework.poi.excel.view.JeecgTemplateExcelView"/>
  126. <bean id="jeecgTemplateWordView" class="org.jeecgframework.poi.excel.view.JeecgTemplateWordView"/>
  127. <bean id="jeecgMapExcelView" class="org.jeecgframework.poi.excel.view.JeecgMapExcelView"/>
  128. <bean id="hglexcelview" class="cn.com.lzt.excel.view.HglMapExcelView"/>
  129. <bean id="easypoiExcelView" class="cn.afterturn.easypoi.view.EasypoiSingleExcelView"/>
  130. <bean id="easypoiTemplateExcelView" class="cn.afterturn.easypoi.view.EasypoiTemplateExcelView"/>
  131. <bean id="easypoiTemplateWordView" class="cn.afterturn.easypoi.view.EasypoiTemplateWordView"/>
  132. <bean id="easypoiMapExcelView" class="cn.afterturn.easypoi.view.EasypoiMapExcelView"/>
  133. <!-- 方言 -->
  134. <bean id="dialect"
  135. class="org.jeecgframework.core.common.hibernate.dialect.DialectFactoryBean">
  136. <property name="dbType" value="${jdbc.dbType}"/>
  137. </bean>
  138. <!-- 异常处理类 -->
  139. <bean id="exceptionHandler"
  140. class="org.jeecgframework.core.common.exception.GlobalExceptionResolver"/>
  141. <!--add-begin-Author:zhoujf 20170602 for 单点登录-->
  142. <!-- 单点登录 kisso 注入初始化,也支持使用 web.xml 初始化 -->
  143. <bean id="kissoInit" class="com.baomidou.kisso.web.WebKissoConfigurer" init-method="initKisso">
  144. <property name="ssoPropPath" value="sso.properties"/>
  145. <!-- 不同环境配置选择设置 ,dev_mode/开发模式 ,test_mode/测试模式 ,online_mode/生产模式-->
  146. <property name="runMode" value="test_mode"/>
  147. </bean>
  148. <!--add-end-Author:zhoujf 20170602 for 单点登录-->
  149. <!-- 拦截器 -->
  150. <mvc:interceptors>
  151. <!--add-begin-Author:dangzhenghui 20170402 for 添加 api延签拦截器 对签名统处理-->
  152. <mvc:interceptor>
  153. <mvc:mapping path="/api/**"/>
  154. <bean class="org.jeecgframework.core.interceptors.SignInterceptor"/>
  155. </mvc:interceptor>
  156. <!--add-end-dangzhenghui 20170402 for 添加 api延签拦截器 对签名统处理-->
  157. <mvc:interceptor>
  158. <mvc:mapping path="/**"/>
  159. <bean class="org.jeecgframework.core.interceptors.EncodingInterceptor"/>
  160. </mvc:interceptor>
  161. <mvc:interceptor>
  162. <mvc:mapping path="/**"/>
  163. <bean class="org.jeecgframework.core.interceptors.AuthInterceptor">
  164. <property name="excludeUrls">
  165. <list>
  166. <value>dataviewController.do?main</value>
  167. <value>loginController.do?goPwdInit</value>
  168. <value>loginController.do?pwdInit</value>
  169. <value>loginController.do?login</value>
  170. <value>loginController.do?logout</value>
  171. <value>loginController.do?changeDefaultOrg</value>
  172. <value>loginController.do?login2</value>
  173. <value>loginController.do?login3</value>
  174. <value>loginController.do?checkuser</value>
  175. <value>loginController.do?checkuser=</value>
  176. <!-- 登录异步取验证码 -->
  177. <!-- <value>loginController.do?myCode</value> -->
  178. <value>repairController.do?repair</value>
  179. <value>systemController.do?saveFiles</value>
  180. <value>repairController.do?deleteAndRepair</value>
  181. <!--add-start-Author:zhangguoming Date:20140825 for:用户选择组织机构的url-->
  182. <value>userController.do?userOrgSelect</value>
  183. <!--add-end-Author:zhangguoming Date:20140825 for:用户选择组织机构的url-->
  184. <!--移动OA-->
  185. <value>mLoginController.do?login</value>
  186. <value>mLoginController.do?checkuser</value>
  187. <!--移动图表-->
  188. <value>cgDynamGraphController.do?design</value>
  189. <value>cgDynamGraphController.do?datagrid</value>
  190. <!-- del-begin-Author:dangzhenghui 20170402 删除例外 通过api路径进行例外检查-->
  191. <!--online表单对外接口-->
  192. <!--<value>cgFormDataController.do?getFormInfo</value>
  193. <value>cgFormDataController.do?deleteFormInfo</value>
  194. <value>cgFormDataController.do?addFormInfo</value>
  195. <value>cgFormDataController.do?updateFormInfo</value>-->
  196. <!--del-end- Author:dangzhenghui 20170402 删除例外 通过api路径进行例外检查-->
  197. <!--<value>api/userrest.do</value>-->
  198. <!--<value>api/userrest</value>-->
  199. <value>dataviewController.do?getGonglvPie</value>
  200. <value>dataviewController.do?getGonglvBar</value>
  201. <!-- 菜单样式图标预览 -->
  202. <!-- update-start-Author:chenj Date:20160729 for:增加图标样式预览页面 -->
  203. <value>webpage/common/functionIconStyleList.jsp</value>
  204. <!-- update-end-Author:chenj Date:20160729 for:增加图标样式预览页面 -->
  205. <!-- 工作流对外接口 -->
  206. <value>flowApi/startProcess.do</value>
  207. <!--企业微信登录-->
  208. <value>loginOauth/link.do</value>
  209. <!-- 定时任务远程更新 18-01-18 -->
  210. <value>timeTaskController.do?remoteTask</value>
  211. <!-- 远程立即生效 定时任务 -->
  212. <value>timeTaskController.do?remoteTask4ImmediatelyEffective</value>
  213. <!-- 远程立即执行任务 -->
  214. <value>timeTaskController.do?remoteImmediatelyExecuted</value>
  215. <!-- 读消息 -->
  216. <value>mMessageController.do?user_preview</value>
  217. <!--消息短链接跳转-->
  218. <value>r.do?r</value>
  219. <!--消息回复-->
  220. <value>mMessageReplyController.do?doAdd</value>
  221. <value>mMessageReplyController.do?datagrid</value>
  222. <!--wps预览-->
  223. <value>weboffice/wps.do?url</value>
  224. <!--维保计划手机查看-->
  225. <value>maintainPlanController.do?planViewMobile</value>
  226. <value>api/mobile</value>
  227. <value>api/device</value>
  228. <value>api/test</value>
  229. <value>swagger-resources</value>
  230. <value>swagger-resources/*</value>
  231. <value>v2/api-docs</value>
  232. <!--微信小程序api-->
  233. <value>api/wxmp/**</value>
  234. <value>tBRequestController.do?getAllRequestData</value>
  235. <value>tBRequestController.do?getAllRequestType</value>
  236. <value>tBRequestController.do?getAllRequestList</value>
  237. <value>tBRequestController.do?getRequestInfoById</value>
  238. <value>tBRequestController.do?getRequestById</value>
  239. <value>tBRequestController.do?putRequest</value>
  240. <value>cgUploadController.do?ajaxSaveFile</value>
  241. <!--微信小程序消息接口-->
  242. <value>sysMsgController.do?myMsgDatagridToWX</value>
  243. <value>sysMsgController.do?doReadToWX</value>
  244. <value>sysMsgController.do?readAllMsgToWX</value>
  245. </list>
  246. </property>
  247. <!-- 模糊匹配 -->
  248. <property name="excludeContainUrls">
  249. <list>
  250. <!--add-begin-Author:zhoujf 20170602 for 单点登录-->
  251. <value>toLogin.do</value>
  252. <!--add-end-Author:zhoujf 20170602 for 单点登录-->
  253. <value>flowApi/</value>
  254. <value>flowAppApi/</value>
  255. </list>
  256. </property>
  257. </bean>
  258. </mvc:interceptor>
  259. </mvc:interceptors>
  260. <!-- 拦截器 -->
  261. <mvc:interceptors>
  262. <!-- 用户同步到工作流 -->
  263. <mvc:interceptor>
  264. <mvc:mapping path="/**"/>
  265. <bean class="org.jeecgframework.workflow.interceptors.SynUserInterceptor">
  266. <property name="includeUrls">
  267. <list>
  268. <value>userController.do?saveUser</value>
  269. <value>userController.do?del</value>
  270. </list>
  271. </property>
  272. </bean>
  273. </mvc:interceptor>
  274. </mvc:interceptors>
  275. <!-- 智能表单配置引入 -->
  276. <import resource="classpath*:org/jeecgframework/web/cgform/common/spring-mvc-cgform.xml"/>
  277. <!--集成cxf webservice接口-->
  278. <!--<import resource="classpath:cxf-servlet.xml" />-->
  279. <!-- jeecg plugin dev -->
  280. <!-- <import resource="classpath:spring-config-p3.xml"/>-->
  281. <!-- spring线程池的配置 -->
  282. <bean id="taskExecutor"
  283. class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
  284. <!-- 线程池维护线程的最少数量 -->
  285. <property name="corePoolSize" value="5"/>
  286. <!-- 线程池维护线程所允许的空闲时间 -->
  287. <property name="keepAliveSeconds" value="300"/>
  288. <!-- 线程池维护线程的最大数量 -->
  289. <property name="maxPoolSize" value="10"/>
  290. <!-- 线程池所使用的缓冲队列 -->
  291. <property name="queueCapacity" value="25"/>
  292. </bean>
  293. <!-- <task:executor id="pushexecutor" pool-size="5" />
  294. <task:scheduler id="pushscheduler" pool-size="10" /> -->
  295. <!-- <task:executor id="pushexecutor" pool-size="30"/>
  296. <task:annotation-driven executor="pushexecutor"/> -->
  297. <!-- <task:executor id="pushexecutor" pool-size="5" />
  298. <task:scheduler id="scheduler" pool-size="10" />
  299. <task:annotation-driven executor="pushexecutor" scheduler="scheduler" /> -->
  300. <!-- <bean class="com.daju.core.config.SwaggerConfig" />-->
  301. <!-- <mvc:resources mapping="doc.html" location="classpath:/META-INF/resources/"/>-->
  302. <!-- <mvc:resources mapping="/webjars/**" location="classpath:/META-INF/resources/webjars/"/>-->
  303. </beans>