因为是大学刚毕业,迫于找工做和我的的打算,放弃了大学自学2两年的前端(虽然感受啥也没学到,仍是菜鸡一个),决定转向后台java 的学习,以前学习中一直没时间作笔记。如今找到工做(勉强能养活本身),公司使用的spring boot框架,因此最近又转向spring boot的学习,因此,仍是打算作一个笔记,因为本人目前仍是个菜鸡,写博客只能让本身理解,若是能帮到你更好。等之后若是厉害了,说不定能写出不同的博客,好了,,唠叨到此为止。前端
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员再也不须要定义样板化的配置。其实按照个人我的理解,spring boot就是springmvc的一个升级版,它整合了许多优秀的框架,默认配置了众多框架不须要咱们去配置繁琐的xml文件。java
之前,咱们建立一个spring web项目,那么如下几个步奏是必不可少的:web
(1):配置web.xml,加载spring以及springmvc;spring
(2):配置数据库的链接以及spring事务;数据库
(3):加载配置文件的读取,开启注解;编程
等等,还有其余的繁琐步奏,弄完以后,还须要把项目丢到tomcat服务器里面调试。若是项目修改了某处功能,那么也须要重启服务器。浏览器
说到spring boot,那么,就必须谈到微服务和单体应用,那么,什么是单体应用呢,请看下面这张图:tomcat
如图所示,咱们之前写的web项目,大体都是如上图所示,一个项目包含项目所需的各个功能模块,全部功能完成后将项目打包成war,发布,途中能够看出,单体应用所带来的弊端不少,例如当咱们须要增长某个功能,那么修改以后就须要从新打包发布,能够说是“牵一发而动全身“,固然也带来了一些好处,好比单个发布,操做简单,测试也很简单。springboot
首先,上个图,以下图所示:服务器
从图中能够看出单体应用和微服务的区别,微服务主要是把各个功能模块拆分出来,本身拥有本身的进程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其余服务使用 HTTP API 通信。同时服务会使用最小的规模的集中管理 (例如 Docker) 能力,服务能够用不一样的编程语言与数据库等技术实现。
具体特色有:
一、应用由一系列服务组成;
二、独立的开发业务;
三、单独部署;
四、分布式管理
说了那么多,有点偏离正轨了,下面,咱们就来搭建本身的第一个springBoot项目吧!
首先,搭建一个maven项目:打开IDEA,选择File->New->Project以下图所示:
其次,找到Maven项目,以下图所示:
固然,第一次新建须要导入jdk,jdk就是你安装jdk的目录。
而后,填写各项,
建立好项目以后,咱们须要在pom文件里面写入spring boot所须要的相关依赖。spring官网:https://spring.io
相关的依赖以下:
1 <parent> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-parent</artifactId> 4 <version>1.5.9.RELEASE</version> 5 </parent> 6 <dependencies> 7 <dependency> 8 <groupId>org.springframework.boot</groupId> 9 <artifactId>spring-boot-starter-web</artifactId> 10 </dependency> 11 </dependencies> 12 13 <!-- 这个插件,能够将应用打包成一个可执行的jar包;--> 14 <build> 15 <plugins> 16 <plugin> 17 <groupId>org.springframework.boot</groupId> 18 <artifactId>spring-boot-maven-plugin</artifactId> 19 </plugin> 20 </plugins> 21 </build>
导入完成后,编写咱们的主要业务代码,目标是写一个网页请接口,访问接口,浏览器显示出hello spring boot;
新建一个类,做为spring boot的启动类:
1 package com.thunisoft; 2 3 import org.springframework.boot.SpringApplication; 4 import org.springframework.boot.autoconfigure.SpringBootApplication; 5 6 /** 7 * @SpringBootApplication 标注主程序类,说明这是一个springboot应用类 8 */ 9 @SpringBootApplication 10 public class helloWord { 11 public static void main(String[] args) { 12 SpringApplication.run(helloWord.class,args); 13 } 14 }
其次,编写业务层代码,简单返回:
1 package com.thunisoft.Controller; 2 3 import org.springframework.stereotype.Controller; 4 import org.springframework.web.bind.annotation.RequestMapping; 5 import org.springframework.web.bind.annotation.ResponseBody; 6 7 8 @Controller 9 public class helloController { 10 @RequestMapping("/hello") 11 @ResponseBody 12 public String hello(){ 13 return "hello spring boot"; 14 } 15 }
到此为止,咱们的功能告一段落,那么,如何启动项目呢,不须要将项目丢到tomcat里面,你只须要在启动类里面,运行main方法,就能够了。下面是控制台部分输出语句:
能够看出,spring boot已经为咱们内置tomcat服务器了。访问http://localhost:8080/hello,出现hello spring boot,,到此为止大功告成。注意,访问的时候,不须要项目名!!
那么,如何将项目进行打包发布呢,spring boot也为咱们提供了简单的打包,方式,
如图,点击左下角小图标,右侧出现maven,点击,
点击package,能够看到控制台已经将项目打包成jar包。能够在cmd里面运行jar包,操做命令以下:
能够看到,,项目成功运行。