- 浏览: 2146986 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (682)
- 软件思想 (7)
- Lucene(修真篇) (17)
- Lucene(仙界篇) (20)
- Lucene(神界篇) (11)
- Solr (48)
- Hadoop (77)
- Spark (38)
- Hbase (26)
- Hive (19)
- Pig (25)
- ELK (64)
- Zookeeper (12)
- JAVA (119)
- Linux (59)
- 多线程 (8)
- Nutch (5)
- JAVA EE (21)
- Oracle (7)
- Python (32)
- Xml (5)
- Gson (1)
- Cygwin (1)
- JavaScript (4)
- MySQL (9)
- Lucene/Solr(转) (5)
- 缓存 (2)
- Github/Git (1)
- 开源爬虫 (1)
- Hadoop运维 (7)
- shell命令 (9)
- 生活感悟 (42)
- shell编程 (23)
- Scala (11)
- MongoDB (3)
- docker (2)
- Nodejs (3)
- Neo4j (5)
- storm (3)
- opencv (1)
最新评论
-
qindongliang1922:
粟谷_sugu 写道不太理解“分词字段存储docvalue是没 ...
浅谈Lucene中的DocValues -
粟谷_sugu:
不太理解“分词字段存储docvalue是没有意义的”,这句话, ...
浅谈Lucene中的DocValues -
yin_bp:
高性能elasticsearch ORM开发库使用文档http ...
为什么说Elasticsearch搜索是近实时的? -
hackWang:
请问博主,有用solr做电商的搜索项目?
Solr中Group和Facet的用法 -
章司nana:
遇到的问题同楼上 为什么会返回null
Lucene4.3开发之第八步之渡劫初期(八)
今天来看下,如何在Spring Boot中使用热加载和集成Velocity,废话不多说,直接看下面的maven的pom依赖:
<?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 http://www.w3.org/2001/XMLSchema-instance " > <modelVersion>4.0.0</modelVersion> <groupId>serachrate</groupId> <artifactId>serachrate</artifactId> <version>1.0-SNAPSHOT</version> <!--父依赖--> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.2.RELEASE</version> </parent> <!--指定编码--> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <build> <pluginManagement> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </pluginManagement> <plugins> <plugin> <!-- 比较常用的打包命令 mvn clean package spring-boot:repackage 只有使用下面的maven命令在cmd窗口启动, 热加载才能生效,如果直接Run运行的Application是 不支持热加载的 mvn clean spring-boot:run --> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>1.2.2.RELEASE</version> <dependencies> <!--引入springloaded来实现动态加载--> <dependency> <groupId>org.springframework</groupId> <artifactId>springloaded</artifactId> <version>1.2.0.RELEASE</version> </dependency> </dependencies> <executions> <execution> <goals> <goal>repackage</goal> </goals> <configuration> <classifier>exec</classifier> </configuration> </execution> </executions> <configuration> <!-- <mainClass>com.dhgate.rate.ApplicationSearch</mainClass> --> <!--指定监听的端口号--> <jvmArguments> -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7777 </jvmArguments> </configuration> </plugin> </plugins> </build> <dependencies> <!--web容器支持--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!--本例中散仙排除了tomcat,而使用jetty作为容器--> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jetty</artifactId> </dependency> <!-- 安全验证 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> --> <!--Velocity引擎的支持,如果你需要其他的模板引擎,则--> <!--可以直接引入其他的即可--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-velocity</artifactId> </dependency> <!--性能指标和监测--> <!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-actuator</artifactId>--> <!--</dependency>--> <!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-remote-shell</artifactId>--> <!--</dependency>--> <!--<dependency>--> <!--<groupId>org.springframework.boot</groupId>--> <!--<artifactId>spring-boot-starter-security</artifactId>--> <!--</dependency>--> <!--Guava包的依赖支持--> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>16.0.1</version> </dependency> <!--Gson支持--> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.3.1</version> </dependency> <!--Jsoup支持--> <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.8.1</version> </dependency> <!--solrj的依赖包 --> <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>4.3.1</version> </dependency> </dependencies> </project>
上面已经引入了Spring Loaded框架以及Velocity模板引擎,所以项目就会支持这两种技术,需要注意的是在pom里面关于Sprig Loaded的配置,否则将不会生效,另外建议把IDEA的自动编译保存功能打开,这样一来,Velocity的模板也会自动刷新。
在Spring Boot中不管集成任何东西,都是这么简单的事情,只需稍微变更pom依赖,即可完成,非常便利。
关于Velocity的标签的使用,散仙抽空会在补充一下用法,整体感觉,比Struts和el表达式标签或者jsp里面的标签,简单得多,而且支持宏定义,用起来非常给力。
在Spring Boot中,我们只需要在resource文件夹下,新建一个tmplates的文件夹来存放vm模板即可,然后我们就可以在后台的控制器里面,控制返回到那个vm了,而且数据也是从后台传过来的。
一个简单的例子:
@RequestMapping("/hello") public String hello(Map<String, Object> model){ List<String> l= Lists.newArrayList(); l.add("哈喽,hadoop"); l.add("哈喽,hbase"); l.add("哈喽,hive"); l.add("哈喽,pig"); l.add("哈喽,zookeeper"); l.add("哈喽,三劫散仙"); //将数据存放map里面,可以直接在velocity页面,使用key访问 model.put("data",l); return "hello"; }
模板部分:
velocity代码:
#foreach($s in $data) <h1 style="color: crimson">访问数据:$s</h1> #end
结果如下:
关于动态加载和编译的部分,大家可以自行在自己的环境中测试。
关于spring boot打包和maven启动的两个命令如下:
//打包编译该spring boot项目 mvn clean package spring-boot:repackage //以maven方式启动该项目,spring loaded必须使用此启动方法,才能生效 mvn clean spring-boot:run
欢迎大家扫码关注微信公众号:我是攻城师,我们一起学习,进步和交流!(woshigcs)
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访!
评论
2 楼
junworld
2016-09-30
我的为什么没有成功,没有去解析velocity页面,而是直接在页面显示hello
1 楼
lvan_dan
2016-02-23
写的很不错的,咋没有下文了?直到(三),没有其他的了?
发表评论
-
在spring-boot中使用@ConfigurationProperties
2017-10-28 19:24 1887@ConfigurationProperties注解的作用 ... -
如何在Spring Boot项目使用参数校验
2016-11-02 16:30 6510开发web项目有时候我们需要对controller层传过来的参 ... -
Spring-Boot中如何使用多线程处理任务
2016-08-25 19:36 5905[size=medium]看到这个标题,相信不少人会感到 ... -
使用SpringBoot1.4.0的一个坑
2016-08-16 10:08 7296时隔半年,再次使用Spring Boot快速搭建微服务,半 ... -
如何在Spring中注入ElasticSearch实例
2016-04-06 18:44 6238在企业级项目开发中,大多数公司都会集成Spring来简化开发 ... -
IntelliJ IDEA中使用svn遇到的小问题
2015-06-04 20:20 3363今天在用新装的IDEA 14. ... -
Spring Boot开发之流水无情(二)
2015-04-26 19:45 11692上篇散仙写了一个很 ... -
Spring Boot开发之明月千城(一)
2015-04-24 01:27 16551最近数据分析的项目也即将告一段落了,中间也积累了很多知识 ... -
记一次log4j日志文件小事故
2015-01-30 21:31 2457最近散仙在做公司的一个跟搜索有关的数据分析(Pig+Hadoo ... -
Struts2+Hibernate+Spring之3大框架集成小例子
2014-03-16 23:10 3570SSH框架集成,可以说是J ... -
了解HTTP协议
2014-02-23 11:08 753http协议全称超文本传 ... -
Spring MVC+MyBatics+Spring集成小例子
2014-01-12 15:56 3126散仙,在前面的博客中写过一篇,Spirng MVC+Hiber ... -
Spring项目的几种乱码问题解决思路
2014-01-12 14:33 1648与Spring结合做Web项目时,常常会出现乱码情况,这时候, ... -
配置Mybatics的XML文件的自动提示功能
2014-01-12 14:03 3299配置Mybatics的mapper文件的自动提示功能, M ... -
Spring MVC+Hibernate+Spring集成小例子
2014-01-08 20:30 4493上次,散仙给了一个关于Sping MVC注解简单的小例子,那么 ... -
Spring MVC+SimpleJdbcDaoSupport增删改查小例子
2014-01-03 17:38 2377散仙,上次给的例子是基于Spring MVC+JDBC的方式做 ... -
基于Spirng MVC注解入门
2014-01-01 23:21 1223spring2.5引入注解式处理器支持,通过@Controll ... -
Spring+Spring MVC+JDBC增删改查小例子
2014-01-01 21:52 3712此篇文章,也是作为入门时的一个小练习例子,使用的是JDBC完成 ... -
Spring MVC入门小例子
2014-01-01 21:36 3212入门Spring MVC也有一段时间了,今天写篇文章总结一下 ... -
JSP下载中文名乱码问题
2013-12-30 19:02 1236上传下载功能,几乎是 ...
相关推荐
吟风一键生成还原短网址是一款功能强大的吟风网址生成工具。经过处理过后的网址更加的短小精悍,让用户一眼即可记住,吟风一键生成还原短网址。有需要的用户欢迎来脚本之家下载。 吟风一键生成还原短网址功能: ...
用友 NC报表全套开发,里面有相信的介绍
对联 基于中的变压器实现自动对对联。贯通的放置有:更改了DecoderLayer中第二层注意的查询...柳岸抚琴,弄曲似弄月吟风 只有刚强的人,才有神圣的意志,凡是战斗的人,才能取得胜利 - 若无敬畏之事,业无天地之精神,
该文档详细介绍了用友NC开发的入门基础知识,适合新手做参考练习
采用Qt加OpenGL实现的立体俄罗斯方块游戏,可以运行,想玩的可以挑战下,很难玩
这是关于Elclipse开发C语言的简单过程介绍
之前在用delphi xe2 结果直到某一天,重做系统后,发现xe2各种纠结,费时3天,完成delphi Xe4开发环境的安装, 所有控件均亲自安装和测试正常,现分享给大家,希望能帮上大家,免去寻找资源和安装测式。 注:本人...
本教程是用友NC二次开发的最全的教程包括UAP全部流程适合中高级人员学习使用
mcDBRadio明晨豆瓣电台3.1桌面客户端软件 软件名称:DBRadio 明晨豆瓣电台桌面版客户端 软件版本:3.1 ...软件编写:楚吟风@明晨网络 官方地址:http://www.mingchennet.com/product/doubanradio.html
里面包含两份关于WTL的文档,WTL开发者指南以及深入剖析WTL,有开发桌面应用需要的朋友拿去吧~里面包含两份关于WTL的文档,WTL开发者指南以及深入剖析WTL,有开发桌面应用需要的朋友拿去吧~
之前在用delphi xe2 结果直到某一天,重做系统后,发现xe2各种纠结,费时3天,完成delphi Xe4开发环境的安装, 所有控件均亲自安装和测试正常,现分享给大家,希望能帮上大家,免去寻找资源和安装测式。 注:本人...
之前在用delphi xe2 结果直到某一天,重做系统后,发现xe2各种纠结,费时3天,完成delphi Xe4开发环境的安装, 所有控件均亲自安装和测试正常,现分享给大家,希望能帮上大家,免去寻找资源和安装测式。 注:本人...
之前在用delphi xe2 结果直到某一天,重做系统后,发现xe2各种纠结,费时3天,完成delphi Xe4开发环境的安装, 所有控件均亲自安装和测试正常,现分享给大家,希望能帮上大家,免去寻找资源和安装测式。 注:本人...
之前在用delphi xe2 结果直到某一天,重做系统后,发现xe2各种纠结,费时3天,完成delphi Xe4开发环境的安装, 所有控件均亲自安装和测试正常,现分享给大家,希望能帮上大家,免去寻找资源和安装测式。 注:本人...
之前在用delphi xe2 结果直到某一天,重做系统后,发现xe2各种纠结,费时3天,完成delphi Xe4开发环境的安装, 所有控件均亲自安装和测试正常,现分享给大家,希望能帮上大家,免去寻找资源和安装测式。 注:本人...
之前在用delphi xe2 结果直到某一天,重做系统后,发现xe2各种纠结,费时3天,完成delphi Xe4开发环境的安装, 所有控件均亲自安装和测试正常,现分享给大家,希望能帮上大家,免去寻找资源和安装测式。 注:本人...
开发计算两个字符串间的编辑距离,LCS距离和N-gram距离的函数。 (1)编辑距离 字符串a和b的编辑距离ED(i,j)表示把字符串a转换成b所需要的最少操作次数,这些操作可以是:插入一个字符,删除一个字符,替换一个字符...
我正式开发环境用的插件DevExpressVCL_16.2.5cn,可以支持DELPHI XE10.2.3,支持64位。一键安装。 由于上传文件有大小限制,所以拆成两个RAR了,记得下载第一个part1哦。
我正式开发环境用的插件DevExpressVCL_16.2.5cn,可以支持DELPHI XE10.2.3,支持64位。一键安装。 由于上传文件有大小限制,所以拆成两个RAR了,记得下载第二个part2哦。
这是智能车的电机驱动模块,使用半桥MOS驱动芯片BTN7971,可以驱动一路电机,通过2路PWM控制,7.2V供电,使用74HC244隔离芯片,5V供电,驱动能力强,理论最大驱动电流30A