- 浏览: 2188653 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 1925@ConfigurationProperties注解的作用 ... -
如何在Spring Boot项目使用参数校验
2016-11-02 16:30 6558开发web项目有时候我们需要对controller层传过来的参 ... -
Spring-Boot中如何使用多线程处理任务
2016-08-25 19:36 5968[size=medium]看到这个标题,相信不少人会感到 ... -
使用SpringBoot1.4.0的一个坑
2016-08-16 10:08 7355时隔半年,再次使用Spring Boot快速搭建微服务,半 ... -
如何在Spring中注入ElasticSearch实例
2016-04-06 18:44 6322在企业级项目开发中,大多数公司都会集成Spring来简化开发 ... -
IntelliJ IDEA中使用svn遇到的小问题
2015-06-04 20:20 3499今天在用新装的IDEA 14. ... -
Spring Boot开发之流水无情(二)
2015-04-26 19:45 11778上篇散仙写了一个很 ... -
Spring Boot开发之明月千城(一)
2015-04-24 01:27 16620最近数据分析的项目也即将告一段落了,中间也积累了很多知识 ... -
记一次log4j日志文件小事故
2015-01-30 21:31 2509最近散仙在做公司的一个跟搜索有关的数据分析(Pig+Hadoo ... -
Struts2+Hibernate+Spring之3大框架集成小例子
2014-03-16 23:10 3632SSH框架集成,可以说是J ... -
了解HTTP协议
2014-02-23 11:08 826http协议全称超文本传 ... -
Spring MVC+MyBatics+Spring集成小例子
2014-01-12 15:56 3167散仙,在前面的博客中写过一篇,Spirng MVC+Hiber ... -
Spring项目的几种乱码问题解决思路
2014-01-12 14:33 1694与Spring结合做Web项目时,常常会出现乱码情况,这时候, ... -
配置Mybatics的XML文件的自动提示功能
2014-01-12 14:03 3351配置Mybatics的mapper文件的自动提示功能, M ... -
Spring MVC+Hibernate+Spring集成小例子
2014-01-08 20:30 4535上次,散仙给了一个关于Sping MVC注解简单的小例子,那么 ... -
Spring MVC+SimpleJdbcDaoSupport增删改查小例子
2014-01-03 17:38 2424散仙,上次给的例子是基于Spring MVC+JDBC的方式做 ... -
基于Spirng MVC注解入门
2014-01-01 23:21 1309spring2.5引入注解式处理器支持,通过@Controll ... -
Spring+Spring MVC+JDBC增删改查小例子
2014-01-01 21:52 3766此篇文章,也是作为入门时的一个小练习例子,使用的是JDBC完成 ... -
Spring MVC入门小例子
2014-01-01 21:36 3273入门Spring MVC也有一段时间了,今天写篇文章总结一下 ... -
JSP下载中文名乱码问题
2013-12-30 19:02 1279上传下载功能,几乎是 ...
相关推荐
吟风一键生成还原短网址是一款功能强大的吟风网址生成工具。经过处理过后的网址更加的短小精悍,让用户一眼即可记住,吟风一键生成还原短网址。有需要的用户欢迎来脚本之家下载。 吟风一键生成还原短网址功能: ...
用友NC(U8)是一款大型的企业资源计划(ERP)软件,其报表模块是核心功能之一,为企业提供数据统计、分析及决策支持。本教程全面讲解了如何在用友NC环境中设计、开发和维护报表。 【描述】"用友 NC报表全套开发...
### 用友NC开发基础入门知识点详解 #### 一、代码基础知识 在用友NC开发过程中,代码基础知识是非常重要的组成部分,下面将详细介绍涉及到的主要类及其功能。 ##### 1. UI (用户界面) - **`nc.ui.pub.ToftPanel`...
对联 基于中的变压器实现自动对对联。贯通的放置有:更改了DecoderLayer中第二层注意的查询...柳岸抚琴,弄曲似弄月吟风 只有刚强的人,才有神圣的意志,凡是战斗的人,才能取得胜利 - 若无敬畏之事,业无天地之精神,
【Qt与OpenGL实现的立体俄罗斯方块游戏】是一款利用Qt框架和OpenGL图形库开发的创新版经典游戏。在这款游戏中,玩家将体验到更加立体、视觉效果丰富的俄罗斯方块玩法。下面将详细介绍其中涉及的关键技术和知识点。 ...
#### 三、安装Eclipse 1. **打开终端**:在Linux系统中,可以通过快捷键`Ctrl + Alt + T`打开终端。 2. **安装Eclipse**:在终端中输入以下命令安装Eclipse: ``` sudo apt-get install eclipse ``` 输入密码后...
- 介绍如何设置NCHome路径,这是开发环境的基础配置之一。 - 讲解如何正确设置数据源,以便开发过程中能够顺利连接数据库。 - 探讨模块选择的重要性及其对开发效率的影响。 - **2.2.4 Eclipse中Error/Warnings...
之前在用delphi xe2 结果直到某一天,重做系统后,发现xe2各种纠结,费时3天,完成delphi Xe4开发环境的安装, 所有控件均亲自安装和测试正常,现分享给大家,希望能帮上大家,免去寻找资源和安装测式。 注:本人...
8. “古诗苑漫步”活动的试题部分,包括成语在古诗中的识别(如“悲欢离合”、“青梅竹马”),吟风咏月诗句的引用,以及歌曲歌词对应的唐诗(《烟花三月》对应李白的《黄鹤楼送孟浩然之广陵》,《涛声依旧》对应...
11. 《三十六计》是明清时期的兵书,其中"借尸还魂"这一计策讲述了田子春如何利用策略获取兵权的故事。 12. "马蹄铁上留名"的故事出自《吟风阁杂剧·马蹄铁上留名授计逃关》,是古代戏曲中的一个情节。 13. ...
14. 故事“智取生辰纲”出自元代贾仲明的《吟风阁杂剧》,描述智勇之人用计夺取财物。 15. “瞠目结舌”这个成语形容惊讶或恐惧得说不出话来,出自《太平广记》这部记载奇闻异事的古代笔记小说集。 以上是针对2022...
mcDBRadio明晨豆瓣电台3.1桌面客户端软件 软件名称:DBRadio 明晨豆瓣电台桌面版客户端 软件版本:3.1 ...软件编写:楚吟风@明晨网络 官方地址:http://www.mingchennet.com/product/doubanradio.html
#### 5.1 Python开发环境 安装Python 3和pip: ``` sudo apt install python3 python3-pip ``` 安装虚拟环境管理器: ``` sudo apt install python3-venv ``` #### 5.2 Java开发环境 安装Java JDK: ``` sudo apt ...
- 轻量级:相比于MFC(Microsoft Foundation Classes),WTL占用的资源更少,启动更快,更适合开发小型或中型的桌面应用。 - 直接的API访问:WTL允许开发者直接操作Windows API,提供了对底层操作的控制,便于进行...
【描述】:在IT行业中,数据库是存储和管理数据的核心工具,而Java作为广泛应用的编程语言,与数据库的交互是开发中不可或缺的一部分。本文将深入探讨Java如何连接和操作数据库,以及在实际应用中的最佳实践。 ...
选项A描述的是春季的景象,B项是夏季景象,C项描述的是秋季景象,而D项的"千杯浊酒吟风月,梅影疏香入栅栏"更符合冬季寒冷、寂静的氛围。 7. 林木冻裂的气象条件:林木冻裂主要发生在冬季,尤其是昼夜温差极大的...
之前在用delphi xe2 结果直到某一天,重做系统后,发现xe2各种纠结,费时3天,完成delphi Xe4开发环境的安装, 所有控件均亲自安装和测试正常,现分享给大家,希望能帮上大家,免去寻找资源和安装测式。 注:本人...
之前在用delphi xe2 结果直到某一天,重做系统后,发现xe2各种纠结,费时3天,完成delphi Xe4开发环境的安装, 所有控件均亲自安装和测试正常,现分享给大家,希望能帮上大家,免去寻找资源和安装测式。 注:本人...
之前在用delphi xe2 结果直到某一天,重做系统后,发现xe2各种纠结,费时3天,完成delphi Xe4开发环境的安装, 所有控件均亲自安装和测试正常,现分享给大家,希望能帮上大家,免去寻找资源和安装测式。 注:本人...
之前在用delphi xe2 结果直到某一天,重做系统后,发现xe2各种纠结,费时3天,完成delphi Xe4开发环境的安装, 所有控件均亲自安装和测试正常,现分享给大家,希望能帮上大家,免去寻找资源和安装测式。 注:本人...