SpringBoot入门001-hello spring
前言
由于是大学刚毕业,迫于找工作和个人的打算,放弃了大学自学2两年的前端(虽然感觉啥也没学到,还是菜鸡一个),决定转向后台java 的学习,之前学习中一直没时间做笔记。现在找到工作(勉强能养活自己),公司使用的spring boot框架,所以最近又转向spring boot的学习,所以,还是打算做一个笔记,由于本人目前还是个菜鸡,写博客只能让自己理解,如果能帮到你更好。等以后如果厉害了,说不定能写出不一样的博客,好了,,唠叨到此为止。
什么是Spring Boot
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。其实按照我的个人理解,spring boot就是springmvc的一个升级版,它整合了许多优秀的框架,默认配置了众多框架不需要我们去配置繁琐的xml文件。
spring boot到底带来了什么好处
以前,我们创建一个spring web项目,那么以下几个步奏是必不可少的:
(1):配置web.xml,加载spring以及springmvc;
(2):配置数据库的连接以及spring事务;
(3):加载配置文件的读取,开启注解;
等等,还有其他的繁琐步奏,弄完之后,还需要把项目丢到tomcat服务器里面调试。如果项目修改了某处功能,那么也需要重启服务器。
微服务和单体应用
说到spring boot,那么,就必须谈到微服务和单体应用,那么,什么是单体应用呢,请看下面这张图:
单体应用:
如图所示,我们以前写的web项目,大致都是如上图所示,一个项目包含项目所需的各个功能模块,所有功能完成后将项目打包成war,发布,途中可以看出,单体应用所带来的弊端很多,例如当我们需要增加某个功能,那么修改之后就需要重新打包发布,可以说是“牵一发而动全身“,当然也带来了一些好处,比如单个发布,操作简单,测试也很简单。
微服务:
首先,上个图,如下图所示:
从图中可以看出单体应用和微服务的区别,微服务主要是把各个功能模块拆分出来,自己拥有自己的进程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通讯。同时服务会使用最小的规模的集中管理 (例如 Docker) 能力,服务可以用不同的编程语言与数据库等技术实现。
具体特点有:
1、应用由一系列服务组成;
2、独立的开发业务;
3、单独部署;
4、分布式管理
搭建我的第一个SPring Boot项目
说了那么多,有点偏离正轨了,下面,我们就来搭建自己的第一个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包,操作命令如下:
可以看到,,项目成功运行。