Springboot搭建web项目
最近因为项目需要接触了springboot,然后被其快速零配置的特点惊呆了。关于springboot相关的介绍我就不赘述了,大家自行百度google。
一、pom配置
首先,建立一个maven项目,修改pom.xml文件,添加parent依赖。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
</parent>
spring-boot-starter-parent会自动为我们引入spring相关的依赖。
再看dependencies节点:
我们需要引入starter-web,这是开发web项目必须的依赖,springboot默认集成了tomcat服务器,在这里排除了tomcat,引入了NIO服务器undertow。
springboot默认服务器端口8080,可以自行修改,后面会介绍。
视图引擎选择velocity,引入starter-velocity即可,具体配置后面介绍。
引入maven插件:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
二、程序入口
在一级包路径下,比如com.xxx,新建一个Application.java。
解释一下注解:
@Configuration:指出该类是 Bean 配置的信息源,相当于XML中的<beans></beans>,一般加在主类上。
@EnableAutoConfiguration:让 SpringBoot 根据应用所声明的依赖来对 Spring 框架进行自动配置,由于 spring-boot-starter-web 添加了Tomcat和Spring MVC,所以auto-configuration将假定你正在开发一个web应用并相应地对Spring进行设置
@ ComponentScan:表示将该类自动发现(扫描)并注册为Bean,可以自动收集所有的Spring组件(@Component , @Service , @Repository , @Controller 等),包括@Configuration类。
@SpringBootApplication: @EnableAutoConfiguration、@ComponentScan和@Configuration的合集。
@ EnableTransactionManagement:启用注解式事务。
三、配置
在项目resources目录下新建application.properties文件,springboot默认会读取该配置文件,当然你也可以创建一个名为application.yml文件。
3.1 服务器
server.port=8081
server.context-path=/test
将服务器端口修改为8081,并制定根为test,其他配置请自行挖掘。
3.2 日志
springboot默认使用logback,当然你可以使用别的日志,如log4j2。
logging.config=classpath:logback.xml
logging.level.org.springframework.web=DEBUG
指定日志配置文件位置和日志级别
3.3 模板引擎
使用yml文件进行配置,我们看到这种缩进式的配置,可以省略很多重复性的语句。
spring:
velocity:
charset: UTF-8
properties:
input:
encoding: UTF-8
output:
encoding: UTF-8
toolbox-config-location:/templates/toolbox.xml
四、页面以及静态资源(默认)
页面:/resources/templates/
静态资源:/resources/static/
五、控制器
控制器依然使用@Controller注解,或者@RestController(返回json,Controller和ResponseBody合体),我们在templates下新建一个index.vm视图文件,输出hello,world!
六、打包,启动
使用mvn clean package将应用打成一个jar包,比如test.jar。
在命令行执行命令:java -jar test.jar(也可以在IDE中直接执行main方法)
恭喜你,成功启动!
在浏览器输入localhost:8081/test/看一下效果:
快来感受springboot带给你的快感吧!
七、优缺点
优点:简化配置,快速构建应用。个人感觉比较适合做微服务。
缺点:坑很多啊,踩过才知道,对spring平台不了解的同学慎用,还是老老实实的自己配置吧。
下一篇我会来介绍springboot集成mybatis。
关注老姜谈技术,微信号:helojava,或者扫描下面二维码。

代码改变世界。
Springboot搭建web项目的更多相关文章
- springBoot 搭建web项目(前后端分离,附项目源代码地址)
springBoot 搭建web项目(前后端分离,附项目源代码地址) 概述 该项目包含springBoot-example-ui 和 springBoot-example,分别为前端与后端,前后端 ...
- springboot搭建web项目(转)
转:http://blog.csdn.net/linzhiqiang0316/article/details/52589789 这几天一直在研究IDEA上面怎么搭建一个web-mvc的SpringBo ...
- 使用SpringBoot搭建Web项目
序言 从简入深的使用SpringBoot搭建一个Web项目,同时也包括一些小的问题.第一篇博文是以较为简单的方式完成一个可以连接数据库的Springboot web程序.之前自己学习的时候看网上的教程 ...
- springboot搭建web项目与使用配置文件
目录 一.准备工作 二.创建基础web项目 1. maven配置 2.创建maven项目.配置pom.xml为web基础项目 3.编写启动类 4.使用maven打包 5.使用命令java -jar x ...
- Spring-Boot快速搭建web项目详细总结
最近在学习Spring Boot 相关的技术,刚接触就有种相见恨晚的感觉,因为用spring boot进行项目的搭建是在太方便了,我们往往只需要很简单的几步,便可完成一个spring MVC项目的搭建 ...
- 使用idea+springboot+Mybatis搭建web项目
使用idea+springboot+Mybatis搭建web项目 springboot的优势之一就是快速搭建项目,省去了自己导入jar包和配置xml的时间,使用非常方便. 1.创建项目project, ...
- Spring Boot搭建Web项目常用功能
搭建WEB项目过程中,哪些点需要注意: 1.技术选型: 前端:freemarker.vue 后端:spring boot.spring mvc 2.如何包装返回统一结构结果数据? 首先要弄清楚为什么要 ...
- 基于springboot的web项目最佳实践
springboot 可以说是现在做javaweb开发最火的技术,我在基于springboot搭建项目的过程中,踩过不少坑,发现整合框架时并非仅仅引入starter 那么简单. 要做到简单,易用,扩展 ...
- 【maven】 在 MyEcplise上使用maven搭建Web项目
二.在My Ecplise上使用Maven搭建Web项目 1.新建一个maven项目 2.create一个简单的骨架 3.就像在ecplise中一样设置项目的以下配置 4.新创建的项目结构如下 ...
随机推荐
- html5 canvas常用api总结(三)--图像变换API
canvas的图像变换api,可以帮助我们更加方便的绘画出一些酷炫的效果,也可以用来制作动画.接下来将总结一下canvas的变换方法,文末有一个例子来更加深刻的了解和利用这几个api. 1.画布旋转a ...
- 再讲IQueryable<T>,揭开表达式树的神秘面纱
接上篇<先说IEnumerable,我们每天用的foreach你真的懂它吗?> 最近园子里定制自己的orm那是一个风生水起,感觉不整个自己的orm都不好意思继续混博客园了(开个玩笑).那么 ...
- tomcat开发远程调试端口以及利用eclipse进行远程调试
一.tomcat开发远程调试端口 方法1 WIN系统 在catalina.bat里: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compi ...
- jQuery学习之路(5)- 简单的表单应用
▓▓▓▓▓▓ 大致介绍 接下来的这几个博客是对前面所学知识的一个简单的应用,来加深理解 ▓▓▓▓▓▓ 单行文本框 只介绍一个简单的样式:获取和失去焦点改变样式 基本结构: <form actio ...
- JavaScript动画-拖拽改变元素大小
▓▓▓▓▓▓ 大致介绍 拖拽改变元素大小是在模拟拖拽上增加了一些功能 效果:拖拽改变元素大小 ▓▓▓▓▓▓ 拖拽改变元素大小原理 首先这个方块得知道我们想要改变这个它的大小,所以我给它设定一个范围,当 ...
- kafka配置与使用实例
kafka作为消息队列,在与netty.多线程配合使用时,可以达到高效的消息队列
- angular2系列教程(八)In-memory web api、HTTP服务、依赖注入、Observable
大家好,今天我们要讲是angular2的http功能模块,这个功能模块的代码不在angular2里面,需要我们另外引入: index.html <script src="lib/htt ...
- C#中如何创建PDF网格并插入图片
这篇文章我将向大家演示如何以编程的方式在PDF文档中创建一个网格,并将图片插入特定的网格中. 网上有一些类似的解决方法,在这里我选择了一个免费版的PDF组件.安装控件后,创建新项目,添加安装目录下的d ...
- MAC Osx PHP安装指导
php.ini的位置 Mac OS X中没有默认的php.ini文件,但是有对应的模版文件php.ini.default,位于/private/etc/php.ini.default 或者说 /etc ...
- Phantomjs+Nodejs+Mysql数据抓取(2.抓取图片)
概要 这篇博客是在上一篇博客Phantomjs+Nodejs+Mysql数据抓取(1.抓取数据) http://blog.csdn.net/jokerkon/article/details/50868 ...