springboot+mybatis+dorado整合
前面已经整合过springboot+mybatis,这里实在已经整合好springboot+mybatis的基础上整合dorado的,如果不会整合springboot+mybatis可以看看我之前的博文。
目录
1.eclipse集成dorado插件
2.下载集成dorado需要的依赖包
3.导入依赖包
4.工程WEB-INF目录下创建dorado-home目录并配置
5.更新dorado规则
目录说明:按照目录上面的步骤顺序做在过程中可以边集成边调试。
1.eclipse集成dorado插件
这个因为我使用的是公司提供的eclipse,eclipse已经集成好dorado插件了,如果不会的可以百度一下eclipse如何集成dorado插件。集成成功后在eclipse里面创建新项目会有dorado项目。没集成之前是不可以创建dorado项目的。特别说明我们可以创建单独的dorado项目,单独的springboot项目,单独的maven项目。这里旨在集成这些东西。
2.下载集成dorado需要的依赖包
依赖包目录如下:
dorado-core.jar
dorado-skin-blue-sky.jar
dorado-skin-concise-red.jar
dorado-skin-daybreak.jar
cglib.jar
commons-beanutils.jar
commons-collections.jar
commons-jexl.jar
commons-lang.jar
ehcache-core.jar
jackson-core-asl.jar
jackson-mapper-asl.jar
javassist.jar
spring-context-support.jar
具体jar包的版本可以参考下图:
注意:这里的springboot+mybatis工程的名称和上次创建好的工程名称不一样,这里使用的工程只是在名称上修改了,其他的还是不变。也就是说只要你已经创建好一个springboot+mybatis的框架好后这里的整合dorado就可以用你的框架去整合。
3.导入依赖包
3.1新建lib目录
在你下载好相关jar包后,在你的工程的根目录也就是你的项目名右键新建一个文件夹,名称为lib,把你下载好的jar包放在lib文件夹下如图:
3.2导入依赖包
打开你工程的pom.xm,在文件夹中吧刚刚创建好的依赖全部添加进去,下面贴出我的整个pom.xml内容,前面部分是整合springboot+mybatis的依赖包,后面部门有注解为整合dorado开始的地方下面的都是整合dorado需要的一些依赖包,这里整合dorado的依赖包基本是最简的。如下代码:
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>cn.idatatech</groupId>
<artifactId>springDorado</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<name>springDorado</name>
<description>合并spring+mybatis+dorado</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.4.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 配置mybatis依赖包 -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.3.2</version>
</dependency>
<!-- 添加阿里巴巴数据源依赖包 druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.29</version>
</dependency>
<!-- 配置mysql驱动 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-java-5.1.41-bin</artifactId>
<version>5.1.41</version>
<systemPath>${basedir}/lib/mysql-connector-java-5.1.41-bin.jar</systemPath>
<scope>system</scope>
</dependency>
<!--配置支持jsp-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<!-- 引入jsp中jstl包的支持 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- 配置dom4j,对xml文件解析支持 -->
<!-- 也可以配置saxon解析,这里主要用来解析mapper.xml文件 -->
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>1.6.1</version>
</dependency>
<!-- =================================配置dorado============================================= -->
<!-- dorado 7 -->
<dependency>
<groupId>com.bstek.dorado</groupId>
<artifactId>dorado-core</artifactId>
<version>7.6.0-SNAPSHOT</version>
<scope>system</scope>
<systemPath>${basedir}/lib/dorado-core.jar</systemPath>
</dependency>
<!-- commons-lang3 常用工具类 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang-2.6</artifactId>
<version>2.6</version>
<scope>system</scope>
<systemPath>${basedir}/lib/commons-lang-2.6.jar</systemPath>
</dependency>
<!-- commons-jexl -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-jexl-2.1.1</artifactId>
<version>2.1.1</version>
<scope>system</scope>
<systemPath>${basedir}/lib/commons-jexl-2.1.1.jar</systemPath>
</dependency>
<!-- commons-collections -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections-3.2.1</artifactId>
<version>3.2.1</version>
<scope>system</scope>
<systemPath>${basedir}/lib/commons-collections-3.2.1.jar</systemPath>
</dependency>
<!-- spring-context-support -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support-3.2.0.RELEASE</artifactId>
<version>3.2.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/spring-context-support-3.2.0.RELEASE.jar</systemPath>
</dependency>
<!-- javassist -->
<dependency>
<groupId>javassist</groupId>
<artifactId>javassist-3.12.1.GA</artifactId>
<version>3.12.1</version>
<scope>system</scope>
<systemPath>${basedir}/lib/javassist-3.12.1.GA.jar</systemPath>
</dependency>
<!-- ehcache-core -->
<dependency>
<groupId>net.sf.ehcache</groupId>
<artifactId>ehcache-core-2.6.3</artifactId>
<version>2.6.3</version>
<scope>system</scope>
<systemPath>${basedir}/lib/ehcache-core-2.6.3.jar</systemPath>
</dependency>
<!-- commons-beanutils皮肤依赖包 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-beanutils-1.8.3</artifactId>
<version>1.8.3</version>
<scope>system</scope>
<systemPath>${basedir}/lib/commons-beanutils-1.8.3.jar</systemPath>
</dependency>
<!-- dorado-skin-blue-sky皮肤依赖包 -->
<dependency>
<groupId>com.bstek.dorado</groupId>
<artifactId>dorado-skin-blue-sky-1.0.31</artifactId>
<version>1.0.31</version>
<scope>system</scope>
<systemPath>${basedir}/lib/dorado-skin-blue-sky-1.0.31.jar</systemPath>
</dependency>
<!-- dorado-skin-red皮肤依赖包 -->
<dependency>
<groupId>com.bstek.dorado</groupId>
<artifactId>dorado-skin-concise-red-1.0.65</artifactId>
<version>1.0.65</version>
<scope>system</scope>
<systemPath>${basedir}/lib/dorado-skin-concise-red-1.0.65.jar</systemPath>
</dependency>
<!-- dorado-skin-daybreak皮肤依赖包 -->
<dependency>
<groupId>com.bstek.dorado</groupId>
<artifactId>dorado-skin-daybreak-1.0.35</artifactId>
<version>1.0.35</version>
<scope>system</scope>
<systemPath>${basedir}/lib/dorado-skin-daybreak-1.0.35.jar</systemPath>
</dependency>
<!-- jackson-core-asl解析与序列化 -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core-asl-1.9.11</artifactId>
<version>1.9.11</version>
<scope>system</scope>
<systemPath>${basedir}/lib/jackson-core-asl-1.9.11.jar</systemPath>
</dependency>
<!-- jackson-mapper -->
<dependency>
<groupId>com.fasterxml.jackson.map</groupId>
<artifactId>jackson-mapper-asl-1.9.11</artifactId>
<version>1.9.11</version>
<scope>system</scope>
<systemPath>${basedir}/lib/jackson-mapper-asl-1.9.11.jar</systemPath>
</dependency>
<!-- net.sf.cglib -->
<dependency>
<groupId>net.sf.cglib</groupId>
<artifactId>cglib-2.2.2</artifactId>
<version>2.2.2</version>
<scope>system</scope>
<systemPath>${basedir}/lib/cglib-2.2.2.jar</systemPath>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
配置好后右键工程,选择maven->update project,这样就更新完成你的maven依赖包了(可以到你工程下的maven dependencies目录下看看刚刚导入的那些jar包有没有导入进去)。
4.工程WEB-INF目录下创建dorado-home目录并配置
在工程的src/main/webapp的WEB-INF目录下新建一个文件夹,命名为dorado-home.添加相关配置,最好不要这么干,我的做法是新创建一个dorado项目,然后把dorado项目的相同路径下的dorado-home拷贝一份放在自己的WEB-INF目录下。目录结构如下图:
各个文件代码如下:
app-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd"
>
</beans>
components-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:d="http://www.bstek.com/dorado/schema"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.bstek.com/dorado/schema
http://www.bstek.com/dorado/schema/spring-dorado-7.0.xsd"
>
</beans>
configure-debug.properties
view.clientSideCache.defaultMaxAge=0
core.classPathResourceReloadable=true
view.debugEnabled=true
view.showExceptionStackTrace=true
view.mergeJavaScript=false
view.mergeStyleSheet=false
view.useMinifiedJavaScript=false
view.useMinifiedStyleSheet=false
view.outputPrettyJson=true
core.supportsTempFile=false
configure.properties
core.runMode=debug
# encoding
view.javaScript.charset=utf-8
view.styleSheet.charset=utf-8
context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:d="http://www.bstek.com/dorado/schema"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.bstek.com/dorado/schema http://www.bstek.com/dorado/schema/spring-dorado-7.0.xsd">
<import resource="app-context.xml"/>
<import resource="components-context.xml"/>
<!-- 配置dorado模型文件的路径 -->
<bean parent="dorado.dataConfigLoader">
<property name="configLocation" value="classpath*:cn/idatatech/**/*.model.xml"/>
</bean>
<!-- 配置dorado视图文件的路径 -->
<bean parent="dorado.viewConfigFactoryRegister">
<property name="viewNamePattern" value="**"/>
<property name="viewConfigFactory">
<bean parent="dorado.xmlViewConfigDefinitionFactory">
<property name="pathPrefix" value="WEB-INF/views"/>
<property name="pathSubfix" value=".view.xml"/>
</bean>
</property>
</bean>
<!-- ???-->
<bean parent="dorado.packagesConfigLoader">
<property name="configLocation" value="classpath*:WEB-INF/dorado-home/packages-config.xml"/>
</bean>
</beans>
packages-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<Patterns>
<Pattern name="js" contentType="text/javascript" charset="UTF-8"
mergeRequests='${configure["view.mergeJavaScript"]}' resourceSuffix=".js" />
<Pattern name="css" contentType="text/css" charset="UTF-8"
mergeRequests='${configure["view.mergeStyleSheet"]}' resourceSuffix=".css" />
<Pattern name="res-js" contentType="text/javascript" charset="UTF-8"
mergeRequests="false" resourceSuffix=".js"
baseUri=">dorado/client/resources"/>
<Pattern name="res-css" contentType="text/css" charset="UTF-8"
mergeRequests="false" resourceSuffix=".css"
baseUri=">dorado/client/resources"/>
</Patterns>
<Packages>
<Package name="common" pattern="js"></Package>
</Packages>
</config>
servlet-context.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
</beans>
w3c-html4-template.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=IE8"/>
#outputPageHeader()
</head>
<body style="margin:0; overflow:hidden">
<div id="doradoView" style="display:none"></div>
#outputPageFooter()
#outputException()
</body>
</html>
ok,到这里就可以更新dorado规则了,这行第5步。
5.更新dorado规则
右键项目名,选择更新dorado规则(如果没有集成dorado插件,这里就没有这个选项),过一会会提示更新dorado规则成功或者失败。如果更新成功,那么恭喜你已经完成springboot+mybatis+dorado框架的整合了,如果更新失败。这时候多半是因为导入依赖包的问题。仔细查看控制台打印的日志信息,看看是不是依赖包没有导进去(如果没有倒进依赖包,在进行maven->update project的时候你的pom.xml就会报错),如果提示找不到某些包下的类,那个你可以参照一个dorado项目的lib文件夹下的jar包,看看报错的找不到的那个类的包的名称在不在dorado项目的lib文件夹下(正常都有,我就是这么干的),把这个包拷贝到你的springboot项目的lib文件夹下,然后在pom.xml添加该包的依赖(添加过程可以仿照前面的依赖添加)。
注:如何创建一个dorado视图后成功访问将在后面继续,这里先记录到这里。上面的整合知识可以更新dorado配置规则,但是访问到dorado视图还没有配置。