为什么80%的码农都做不了架构师?>>>   

首先申明,本文并没有原理性的东西(请自行百度),适合于刚接触springBoot并有一定javaweb开发基础的人群,大神和小白请出门左拐。

##使用工具 Eclipse、Maven、springBoot 本文不会讲解Maven的安装使用以及Eclipse下如何创建一个Maven项目

##实现功能 ###springBoot项目项目结构

pom.xml 文件:

<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"><modelVersion>4.0.0</modelVersion><groupId>com.itstyle</groupId><artifactId>springBoot_demo</artifactId><version>0.0.1-SNAPSHOT</version><packaging>jar</packaging><name>springBoot_demo</name><url>http://maven.apache.org</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><!-- spring-boot-starter-parent包含了大量配置好的依赖管理,在自己项目添加这些依赖的时候不需要写<version>版本号 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.2.RELEASE</version><relativePath/></parent><dependencies><!-- 实现web功能 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- 模版 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><!-- 打包项目 mvn clean package --><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><dependencies><!-- mvn spring-boot:run 热部署启动 --><dependency><groupId>org.springframework</groupId><artifactId>springloaded</artifactId><version>1.4.0.RELEASE</version></dependency></dependencies></plugin></plugins></build>
</project>

###如何启动项目以及配置项目启动端口以及日志级别

#服务端口
server.port=8080
#spring boot从控制台打印出来的日志级别只有ERROR, WARN 还有INFO,如果你想要打印debug级别的日志
#debug=true
logging.level.root=INFO
#logging.level.org.springframework.web=DEBUG
#logging.level.org.hibernate=ERROR#thymeleaf start
#spring.thymeleaf.prefix: /templates/
#spring.thymeleaf.suffix: .html
#spring.thymeleaf.mode=HTML5
#spring.thymeleaf.encoding=UTF-8
#spring.thymeleaf.content-type=text/html
#开发时关闭缓存,不然没法看到实时页面
#spring.thymeleaf.cache=false

###启动springBoot项目并展示一个页面,对应的是templates下index.html页面。

/*** 其实我是个演员* 小柒*/
@SpringBootApplication
@Controller
public class App {private static final Logger logger = Logger.getLogger(App.class);@RequestMapping("/")public String   greeting() {return "index";}public static void main(String[] args) {SpringApplication.run(App.class, args);logger.info("项目启动 ");}
}

###整合thymeleaf模版实现一个简单的页面,对应的是templates下hello.html页面。

@Controller
public class HelloController {@RequestMapping("/hello")public String   greeting(ModelMap map) {map.addAttribute("name", "其实我是个演员");map.addAttribute("host", "https://blog.52itstyle.com");return "hello";}
}

###如何统一配置404和500页面

@Controller
public class ErrorInterceptor implements HandlerInterceptor {  /**  * preHandle方法是进行处理器拦截用的,顾名思义,该方法将在Controller处理之前进行调用,SpringMVC中的Interceptor拦截器是链式的,可以同时存在  * 多个Interceptor,然后SpringMVC会根据声明的前后顺序一个接一个的执行,而且所有的Interceptor中的preHandle方法都会在  * Controller方法调用之前调用。SpringMVC的这种Interceptor链式结构也是可以进行中断的,这种中断方式是令preHandle的返  * 回值为false,当preHandle的返回值为false的时候整个请求就结束了。  */    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)  throws Exception {  return true;// 只有返回true才会继续向下执行,返回false取消当前请求  }  /**  * 这个方法只会在当前这个Interceptor的preHandle方法返回值为true的时候才会执行。postHandle是进行处理器拦截用的,它的执行时间是在处理器进行处理之  * 后,也就是在Controller的方法调用之后执行,但是它会在DispatcherServlet进行视图的渲染之前执行,也就是说在这个方法中你可以对ModelAndView进行操  * 作。这个方法的链式结构跟正常访问的方向是相反的,也就是说先声明的Interceptor拦截器该方法反而会后调用,这跟Struts2里面的拦截器的执行过程有点像,  * 只是Struts2里面的intercept方法中要手动的调用ActionInvocation的invoke方法,Struts2中调用ActionInvocation的invoke方法就是调用下一个Interceptor  * 或者是调用action,然后要在Interceptor之前调用的内容都写在调用invoke之前,要在Interceptor之后调用的内容都写在调用invoke方法之后。  */    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,  ModelAndView modelAndView) throws Exception {  if(response.getStatus()==500){  modelAndView.setViewName("/errorpage/500");  }else if(response.getStatus()==404){  modelAndView.setViewName("/errorpage/404");  }  }  /**  * 该方法也是需要当前对应的Interceptor的preHandle方法的返回值为true时才会执行。该方法将在整个请求完成之后,也就是DispatcherServlet渲染了视图执行,  * 这个方法的主要作用是用于清理资源的,当然这个方法也只能在当前这个Interceptor的preHandle方法的返回值为true时才会执行。  */    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)  throws Exception {  }
}

###最终项目演示

##码云 https://git.oschina.net/52itstyle/springboot_demo

转载于:https://my.oschina.net/52love/blog/1501298

教你十分钟快速搭建springBoot项目实战相关推荐

  1. 梓晨教你十分钟快速搭建安装属于自己的网站

    其实搭建网站很简单,对老手来说方法很多,不过还是有些新手不明白,今天梓晨就为大家简单的讲解一下快速搭建网站的方法. 1:环境的选择 搭建网站有很多种方法,不过现在asp网站不多了,基本都是php的,一 ...

  2. 快速搭建Springboot项目的两种方式!!

    大家好,我是雄雄,欢迎关注微信公众号[雄雄的小课堂]. 前言 Springboot的特点就是简单.快速和方便,使用idea不到一分钟就可以快速搭建springboot项目,并且,在这里,你不用写spr ...

  3. Linux一键部署duckchat,DuckChat 1.0.7发布,十分钟快速搭建聊天系统

    DuckChat 1.0.7发布,十分钟快速搭建聊天系统 2018年09月28日 11:55作者:黄页编辑:黄页 分享 DuckChat是一款安全的私有聊天软件,基于PHP环境,可运行在Docker. ...

  4. ESP8266 Non-OS SDK 开发之旅 基础篇① 初识 Non-OS SDK,史上超级详细手把手教小白20分钟快速搭建SDK软件开发环境,完成第一个例子Hello World!

    文章目录 1.前言 2. SDK概述 2.1 SDK使用流程 2.2 ESP8266 HDK -- 硬件开发工具 2.3 ESP8266 SDK -- 软件开发工具包 2.3.1 Non-OS SDK ...

  5. 一步一步教你在IEDA中快速搭建SpringBoot项目

    场景 IEDA 2017 现在要在IDEA中搭建SpringBoot项目快速输出HelloWorld. 实现 打开IEDA,点击File--new--project 选择左边的Spring Initi ...

  6. 教你十分钟构建好 SpringBoot + SSM 框架

    来源:Howie_Y https://juejin.im/post/5b53f677f265da0f8f203914 目前最主流的 java web 框架应该是 SSM,而 SSM 框架由于更轻便与灵 ...

  7. SpringBoot学习:在Interillj Idea上快速搭建SpringBoot项目

    一.创建SpringBoot项目 二.导入Jar包(pom.xml) 1 <?xml version="1.0" encoding="UTF-8"?> ...

  8. Spring Boot 学习(一) 快速搭建SpringBoot 项目

    快速搭建一个 Spring Boot 项目 部分参考于<深入实践Spring Boot>.<Spring实战 第四版>与程序猿DD的有关博客. 参考(嘟嘟独立博客):http: ...

  9. idea快速搭建springboot项目

    Spring Boot是由Pivotal团队提供的全新框架,设计目的是用来简化新Spring应用的初始搭建以及开发过程.它主要推崇的是'消灭配置',实现零配置. 那么,如何在idea中创建一个spri ...

最新文章

  1. 转MFC消息映射梳理
  2. 设计模式学习(五) 适配器模式
  3. java 配置信息_[Java教程]java 配置信息类 Properties 的简单使用
  4. 使用UTL_FILE在oracle中读写文本数据
  5. Python的重要模块:collections (namedtuple、defaultdict、deque、Counter、OrderedDict、ChainMap)
  6. SAP ABAP实用技巧介绍系列之 ABAP XSLT select keyword
  7. 【linux指令】dialog实现终端下的GUI-2
  8. 《具体数学》部分习题解答3
  9. 3dmax塌陷在哪里?怎么用?
  10. NetLog 大规模应用实战:Database-sharding 技术
  11. 使用gimp批量处理图片
  12. 使用curl命令行工具查询本地公网IP地址
  13. 交互体验设计优秀的产品
  14. LSTM - 长短期记忆网络
  15. 小程序如何隐藏滚动条
  16. matlab中根据表格数据画图,excel 表格数据画图-如何利用matlab根据excel表格里面的数据画图...
  17. (二)IJCAI 国际人工智能联合会议
  18. 客户端与服务器信息交互的流程,客户端与服务器的交互流程
  19. PX4固定翼调试校准流程及实验相关问题记录分析
  20. 计算机科学专刊录取,欢迎访问软件学报网站!

热门文章

  1. oracle 叠加代码写法,利用st_geometry进行图形叠加分析
  2. 什么中文版软件可以操作mysql_一款软件,几乎可以操作~所有的~“数据库”,太牛逼了!...
  3. shell+ftp+中文乱码_Ftp 命令出现中文乱码问题如何解决,求指教,非常感谢
  4. substring用法
  5. Javascript 面向对象编程
  6. 使用window.createPopup创建无限级跨帧下拉菜单
  7. 【我解C语言面试题系列】003 死循环格式问题小结?
  8. SwiftUI3优秀文章List 去掉左右间距问题
  9. unity 草 可以一棵棵种吗?_俗语“门前一棵柳,金银财宝往家走”啥意思?房前可以种柳树吗?...
  10. 命令执行——命令执行漏洞及(四)