最近因为项目需要接触了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项目的更多相关文章

  1. springBoot 搭建web项目(前后端分离,附项目源代码地址)

    springBoot 搭建web项目(前后端分离,附项目源代码地址)   概述 该项目包含springBoot-example-ui 和 springBoot-example,分别为前端与后端,前后端 ...

  2. springboot搭建web项目(转)

    转:http://blog.csdn.net/linzhiqiang0316/article/details/52589789 这几天一直在研究IDEA上面怎么搭建一个web-mvc的SpringBo ...

  3. 使用SpringBoot搭建Web项目

    序言 从简入深的使用SpringBoot搭建一个Web项目,同时也包括一些小的问题.第一篇博文是以较为简单的方式完成一个可以连接数据库的Springboot web程序.之前自己学习的时候看网上的教程 ...

  4. springboot搭建web项目与使用配置文件

    目录 一.准备工作 二.创建基础web项目 1. maven配置 2.创建maven项目.配置pom.xml为web基础项目 3.编写启动类 4.使用maven打包 5.使用命令java -jar x ...

  5. Spring-Boot快速搭建web项目详细总结

    最近在学习Spring Boot 相关的技术,刚接触就有种相见恨晚的感觉,因为用spring boot进行项目的搭建是在太方便了,我们往往只需要很简单的几步,便可完成一个spring MVC项目的搭建 ...

  6. 使用idea+springboot+Mybatis搭建web项目

    使用idea+springboot+Mybatis搭建web项目 springboot的优势之一就是快速搭建项目,省去了自己导入jar包和配置xml的时间,使用非常方便. 1.创建项目project, ...

  7. Spring Boot搭建Web项目常用功能

    搭建WEB项目过程中,哪些点需要注意: 1.技术选型: 前端:freemarker.vue 后端:spring boot.spring mvc 2.如何包装返回统一结构结果数据? 首先要弄清楚为什么要 ...

  8. 基于springboot的web项目最佳实践

    springboot 可以说是现在做javaweb开发最火的技术,我在基于springboot搭建项目的过程中,踩过不少坑,发现整合框架时并非仅仅引入starter 那么简单. 要做到简单,易用,扩展 ...

  9. 【maven】 在 MyEcplise上使用maven搭建Web项目

    二.在My Ecplise上使用Maven搭建Web项目 1.新建一个maven项目   2.create一个简单的骨架 3.就像在ecplise中一样设置项目的以下配置   4.新创建的项目结构如下 ...

随机推荐

  1. mobx @computed的解读

    写在前面:我一开始看不懂官网的@computed的作用,因为即使我把@computed去掉,依然能正确的report,然后我百度谷歌都找不到答案,下面都是我自己的理解,如果是有问题的,不对的,请务必留 ...

  2. Android raw to bmp

    Android raw 格式转 bmp 图像 raw 保存的为裸数据,转换时都需要把它转成RGBA 的方式来显示.其中: 8位RAW: 四位RGBA 来表示一位灰度; 24位RAW: 三位RGB相同, ...

  3. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  4. 算法与数据结构(七) AOV网的拓扑排序

    今天博客的内容依然与图有关,今天博客的主题是关于拓扑排序的.拓扑排序是基于AOV网的,关于AOV网的概念,我想引用下方这句话来介绍: AOV网:在现代化管理中,人们常用有向图来描述和分析一项工程的计划 ...

  5. Hbase的伪分布式安装

    Hbase安装模式介绍 单机模式 1> Hbase不使用HDFS,仅使用本地文件系统 2> ZooKeeper与Hbase运行在同一个JVM中 分布式模式– 伪分布式模式1> 所有进 ...

  6. Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)

    Android XML shape 标签使用详解   一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...

  7. linux centos中添加删除修改环境变量,设置java环境变量

    前言 安装完软件必要添加环境变量.指令很少,然而长时间不写就会不自信:我写的对吗?于是百度开始,于是发现又是各有千秋.好吧,好记星不如烂笔头.当然,最重要的是,百度出来的都他妈的是如何添加环境变量,只 ...

  8. 《动手实现一个网页加载进度loading》

    loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在刷新和加载的过程中为了让用户感知到 load 的过程,我们会使用一些过渡动画来表达.最常见的比如"转圈圈" ...

  9. Redis配置文件redis.conf

    1.地址 2.Units单位 1 配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit 2 对大小写不敏感 3.includes包含

  10. OpenWrt中开启usb存储和samba服务

    在从官网安装的WNDR3800 15.05.1版本OpenWrt中, 不带usb存储支持以及samba, 需要另外安装 1. 启用usb支持 USB Basic Support https://wik ...