SpringBoot 部署教程
SpringBoot 是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
下面介绍一个简单的SpringBoot项目的搭建以及与润乾报表demo集成的过程。
新建项目
首先在eclipse新建springboot项目。优先新建springboot项目,若无法安装springboot插件,新建maven项目也是可以正常使用的。这里我们以springboot项目为例。
New Spring Starter Project页面中,Package表示启动类所在的包,此处只能命名为com或者com.raqsoft。如果启动类放到其他位置,需要使用springboot的@ComponentScan注解扫描com.raqsoft包,详情请参考此处。
项目搭建成功后,会自动生成xxxApplication.java,该类用于启动项目;application.properties用于写入大部分润乾报表demo的配置,内容将在【application.properties详解】章节进行详细讲解。
application.properties详解
application.properties中配置报表demo中的多数设置,从而取代了raqsoftConfig.xml 中的大部分配置,其中多数参数的意义可以参考《程序员参考> 相关文件的配置> raqsoftConfig.xml》,还有一些特有的配置,意义如下:
# springboot配置
#启动tomcat后,url访问所用的端口号:http://localhost:8081/……
server.port=8081
#url访问时,项目名称的根路径:http://localhost:8081/demo/……
server.servlet.context-path=/demo
#accesslog服务器访问日志,定义是否开启
server.tomcat.accesslog.enabled=true
#accesslog服务器日志位置
server.tomcat.accesslog.directory=D:/springboot/tmp
#服务器工作日志,定义日志文件位置
logging.file.path=D:/springboot/tmp
# 润乾配置
# 启用容器
# 分别表示是否允许访问报表/填报/报表中心/多维分析,设置为true则加载servlet容器,同时读取下文server配置详情;否则不能访问。
raqsoft.report.enable=true
raqsoft.input.enable=true
raqsoft.center.enable=true
raqsoft.guide.enable=true
# server配置
# 配置报表中心的资源路径
raqsoft.center.home=D:/springboot/eclipse_workspace/reportDemo/src/main/webapp/
raqsoft.configFile=xxx # raqsoftConfig文件路径加载配置;必需选项,不设置会导致启动时错误停止应用进程;支持绝对路径和相对路径,相对于web根目录
# 以下raqsoft.config.xxx格式的配置,与raqsoftConfig.xml中的<property>标签属性一一对应
# 配置web应用中raqsoft目录相对于应用根目录的位置,与raqsoftConfig.xml中的<property name="raqsoftDir" value="raqsoft" />属性对应
raqsoft.config.raqsoftDir=raqsoft
# 报表应用中的JSP页面的字符集,与raqsoftConfig.xml中的<property name="jspCharset" value="UTF-8" />属性对应
raqsoft.config.jspCharset=utf-8
...
#runtime dblist配置
raqsoft.db.dblist[0].name=demo
raqsoft.db.dblist[0].accessPrivilege=true
raqsoft.db.dblist[0].url=jdbc:hsqldb:hsql://127.0.0.1/demo
raqsoft.db.dblist[0].driver=org.hsqldb.jdbcDriver
raqsoft.db.dblist[0].type=13
raqsoft.db.dblist[0].user=sa
raqsoft.db.dblist[0].password=
raqsoft.db.dblist[0].batchSize=1000
raqsoft.db.dblist[0].autoConnect=false
raqsoft.db.dblist[0].useSchema=false
raqsoft.db.dblist[0].addTilde=false
raqsoft.db.dblist[0].dbCharset=UTF-8
raqsoft.db.dblist[0].clientCharset=UTF-8
raqsoft.db.dblist[0].needTransContent=false
raqsoft.db.dblist[0].needTransSentence=false
raqsoft.db.dblist[0].caseSentence=false
在pom.xml中添加依赖
在springboot项目下存在配置文件pom.xml,我们需要在xml文件中添加必要的依赖。
<project>
...
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.2</version>
</parent>
...
</project>
Web项目还需要在dependencis标签里添加web模块依赖以及报表启动器jar。
<dependencies>
...
<!-- web模块 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 报表启动器jar -->
<dependency>
<groupId>com.raqsoft</groupId>
<artifactId>report-spring-boot-starter</artifactId>
<version>1.0</version>
</dependency>
...
</dependencies>
然后继续添加部署所需其他10个jar的依赖,这10个jar分别为:center.jar、datalogic.jar、datetimeformat.jar、esproc-bin.jar、esproc-ext.jar、guide.jar、pdfbox-3.0.0-RC1.jar、raqsoftReport.jar、report5StaticHtml-2.10.jar、scu-report5-cli-2.10.jar,这些jar可以在【报表安装目录】\report\web\webapps\demo\WEB-INF\lib中找到;report-spring-boot-starter-1.0.jar在本文文末提供下载链接。
这里我们提供两种添加方式:
1、从系统指定位置添加
从指定位置添加就是写出jar包的相对路径。
${basedir}是一个动态的路径,表示项目启动的位置,${basedir}/src/main/lib/就是项目中的位置src/main/lib,所以需要把上述jar包放进【项目名称】/src/main/lib下就可以找到了。
<dependencies>
...
<dependency>
<groupId>com.raqsoft</groupId>
<artifactId>center</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/lib/center.jar</systemPath>
</dependency>
<dependency>
<groupId>com.raqsoft</groupId>
<artifactId>datalogic</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/lib/datalogic.jar</systemPath>
</dependency>
...
</dependencies>
2、从maven库添加(推荐)
从maven库里添加对应的jar,以下面raqsoftReport.jar为例,网络库不认识这个jar,就需要手动在本地库安装(添加)此包。maven安装jar包方法见下一步。
<dependencies>
...
<dependency>
<groupId>com.raqsoft</groupId>
<artifactId>raqsoftReport</artifactId>
<version>1.0</version>
</dependency>
...
</dependencies>
maven本地库中安装jar
上述在pom.xml中添加依赖的11个jar的第二种方法,不属于maven所认识的jar,配置在pom.xml中程序并不认识它们,所以我们需要在本地库中安装这些jar,安装方式如下。
到本地安装的maven/bin路径下,打开命令行(cmd)并执行命令:
mvn install:install-file -Dfile=【jar包绝对路径】 -DgroupId=com.raqsoft -DartifactId=【jar包名】 -Dversion=【版本号】 -Dpackaging=jar
如安装raqsoftReport.jar:
mvn install:install-file -Dfile=D:/springboot/raqsoftReport.jar -DgroupId=com.raqsoft -DartifactId=raqsoftReport -Dversion=1.0 -Dpackaging=jar
报表中提供的10个jar使用上述命令执行,而report-spring-boot-starter.jar在添加本地库时需要指明pom.xml文件(注意:这里的pom.xml与项目中的pom.xml不是同一个,此处提到的pom.xml在文末提供下载链接),润乾提供跟他配套的pom文件并使用语句:
mvn install:install-file -Dfile=【jar包绝对路径】/report-spring-boot-starter-1.0.jar -DgroupId=com.raqsoft -DartifactId=report-spring-boot-starter -Dversion=1.0 -Dpackaging=jar -DpomFile=【pom文件绝对路径】/pom.xml
语句执行成功显示如下:
添加成功后,项目中的pom.xml的<dependency>就可以通过<groupId>、<artifactId>和<version>找到对应的jar包了。
在项目中添加web部分
我们将【报表安装目录】\report\web\webapps下的整个demo目录放在【项目名称】/src/main下,并将 demo 目录重命名为 webapp。
使用启动类启动项目
使用springboot启动xxxApplication.java,若启动成功,会在eclipse控制台看到如下信息:
启动demo数据库及DQL服务器
如果在浏览报表demo中使用到demo数据库或DQL服务器,需要在报表中手动启动。
在web界面访问报表demo
启动成功之后,如若需要访问报表demo,需要手动在浏览器地址栏输入相应的地址,比如打开报表中心:
Springboot提供了制作启动器的方法,它可以把启动的工作集中起来,自动完成;在这一自动过程中可以很灵活的设计操作,比如读取配置。这一做法帮助项目满足springboot规范,尤其是作为第三方软件给客户使用。我们将报表部署在springboot中,就可以实现以上内容。
对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅
嗯,还不太了解好多乾?
如果无需集成 web 部分,仅仅需要通过后台计算报表,返回 HTML 串,该集成哪些 jar?
有没有集成好的 demo 看看
请问 demo 能提供下载吗?