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包,操作命令如下:

可以看到,,项目成功运行。

 

posted @ 2018-09-01 17:10  殇林  阅读(364)  评论(0编辑  收藏  举报