接下来编写SprintBoot的helloworld,来体会一下SprintBoot的强大,我们就以一个功能为例,一个什么样的功能呢,我们现在想是浏览器,发送一个hello请求,服务器接收请求,并处理,处理完成了以后呢,来响应给你浏览器,HelloWorld这个字符串,把这个字符串响应给浏览器,那这个功能呢,典型的就是一个web应用,如果以前我们可能创建一个WEB项目,导入一下SpringMVC,相关的依赖,然后编写一堆配置文件,我们写完了以后,把整个项目打成war包,最终放到TOMCAT里边,来运行,那这样做都是太麻烦了,SprintBoot怎么办呢,我们先来第一步,我们先来创建一个MAVEN工程,而且这个MAVEN工程呢,暂时不用那么麻烦,先来创建一个jar的工程,new一个project,spring-boot-01-helloworld<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.learn</groupId><artifactId>spring-boot-01-helloworld</artifactId><version>0.0.1-SNAPSHOT</version>
</project>这个目录结构没有问题,MAVEN项目需要导入,第一步创建一个MAVEN项目,包括这个项目的目录结构,第二步导入SprintBoot相关的依赖,怎么导入SpringBoot的依赖呢,我们来到SpringBoot的官网https://spring.io/projects/spring-boot他这里有一个quickstart快速开始,这块有一段依赖,首先他继承了一个副项目,然后starter-web,web模块的,一个依赖,先把他复制上去<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.12.RELEASE</version><relativePath/> <!-- lookup parent from repository -->
</parent>
<dependency><!-- 引入web模块 --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>它会自动的导入相关的依赖jar包,这是第二步导入Sprintboot的依赖,第三步我来写一个主程序
<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.learn</groupId><artifactId>spring-boot-01-helloworld</artifactId><version>0.0.1-SNAPSHOT</version><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.12.RELEASE</version><relativePath/> </parent><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><java.version>1.8</java.version><thymeleaf.version>3.0.9.RELEASE</thymeleaf.version><thymeleaf-layout-dialect.version>2.3.0</thymeleaf-layout-dialect.version><!-- 布局功能的支持程序 thymeleaf3主程序 layout2以上版本 --><!-- thymeleaf2 layout1 --><thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version></properties><dependencies><dependency><!-- 引入web模块 --><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies><!-- 这个插件,可以将应用打包成一个可执行的jar包 --><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>
主程序的作用就是用来启动springboot的应用,这主程序怎么编写,我们随便来写一个类,这个类我们就叫HelloWorldMainApplication,Helloworld的主程序,我们放到com.learn包下,主程序就出来了,主程序出来还不够,我们首先必须要告诉SpringBoot,这儿是一个SpringBoot应用,需要一个注解,@SprintBootApplication,他的作用就是告诉SpringBoot,来标注一个主程序,说明这是一个SprintBoot应用,这是我们需要的第一个注解,然后我们就来写一个Main方法,SpringApplication.run,我用这段代码来启动,叫SpringApplication,叫Spring应用,跑起来,怎么跑起来呢,首先把我们的主程序给传进来,主程序类.class传进来,然后把main方法的参数给传进来,Spring应用启动起来,这个就是一个主程序,相当于我们只需要一个SprintApplication注解,这是我们要做的第三步,来编写了一个主程序,有了他以后,怎么做呢
package com.learn;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;/*** @SpringBootApplication 来标注一个主程序类,说明这是一个Sprint Boot应用* @author Leon.Sun**/
@SpringBootApplication
public class HelloWorldMainApplication {public static void main(String[] args) {// Spring应用启动起来SpringApplication.run(HelloWorldMainApplication.class,args);}
}
我们就来编写我们的业务逻辑,编写相关的Controller以及Service,我们不需要做任何配置了,我们就来编写一个Controller,我来编写一个子包叫做Controller,我们现在写一个类叫做HelloController,把它放到controller包下,首先他要能处理请求,那我们来标一个注解,@Controller,然后接下来处理什么请求呢,我写一个hello方法,我们浏览器会发一个hello请求,我们就来标识一下,就叫@RequestMapping,我来写一个叫/hello,意思就接收来自客户端的hello请求,我们想给浏览器返回一个helloworld,那我们就返回helloworld,当然这个要写出去要结合一个注解,叫做@ResponseBody,把HelloWorld写给浏览器,这些都是以前SpringMVC的功能,然后我们测试这个应用写好了没,怎么测试呢,你只需要到主程序里面把main方法运行起来,直接运行main方法
package com.learn.controller;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class HelloController {@ResponseBody@RequestMapping("/hello")public String hello() {return "Hello World!";}
}
下面Spring就在控制台启动应用,我们看到这一块的打印,Tomcat在8080端口,已经启动了,很神奇,我们并没有配置TOMCATTomcat started on port(s): 8080 (http)我们来测试访问一些吧,我来访问一些localhost:8080,既然是8080端口,默认它会响应这么一个页面http://localhost:8080/

那就是错误页面,我们先不用管,我们想让浏览器发一个hello请求,就直接来写hello,也不用写项目名,回车http://localhost:8080/hello你看HelloWorld就出来了

这个就是我们Springboot的helloworld,非常简单吧,我们不需要做过多的配置,全包扫描,视图解析器,前端控制器,等等等等,以前SprintMVC的那一套,我们通通都没有配过,直接就启动起来了,这还只是开发,在部署的时候呢,SpringBoot更方便,我先把这个应用停掉,如果是以前,我们要把应用打成一个war包,我们把war包放到TOMCAT服务器上,如果目标环境没有TOMCAT服务器su root 123456运行主程序刚才测试成了,然后就是第六步,简化我们的部署工作,如果是我们SpringBoot的应用,那么我们完全可以不用打war包,怎么做呢,我们来到Springboot的官方文档,我们以1.5.12为例,在Getting Started里面有一个,有一个创建可执行的jar包,Creating an executable jar<build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>把这个SprintBoot的maven插件导入到项目里面,这个插件可以将应用打包成一个可执行的jar包,我们无需安装TOMCAT环境,那接下来我们把应用打包,我们执行package,springboot的应用插件就会介入,C:\JavaEE_Workspace\spring-boot-01-helloworld\target\spring-boot-01-helloworld-0.0.1-SNAPSHOT.jar有一个这个jar包,他给我们打成了这个包,我们可以直接运行他,cd进入到C:\Users\Leon.sun\Desktop\Temp\img\demo这个目录我们直接使用jar -jar的命令,使用java -jar的方式就启动以来了,启动起来之后我们访问一下,刷新

也是照样可以的,他项目初始话在29毫毛完成,这是我们开发和部署带来的便捷,导入Springboot的插件,将这个应用打成jar包,直接使用java -jar的命令,进行执行,即使我们这个目标服务器里边,没有装上TOMCAT环境也没事,因为我们已经自带了TOMCAT环境,我们打开这个JAR包,这里有一个BOOT-INF,点进去

classes下边有一个lib文件夹,这里导入了非常多的jar包,这个就是依赖进来的,打包的时候也会带上,特别是这有有一块东西,叫做tomcat-embed,嵌入式的tomcat,打包的时候都携带了tomcat服务器,我们目标服务器就不需要再装tomcat服务器了,这就是Springboot给我们带来的便利性,无论是从开发还是从部署,包括后面的运维工作,我们都能体会到Springboot的强大,便捷

SpringBoot_入门-springboot-helloworld相关推荐

  1. 最简单最详细的SpringBoot入门项目——HelloWorld

    最详细的SpringBoot入门项目--HelloWorld 关于SpringBoot的介绍以及优点这里就不说了,想了解的可以直接点击这里 Spring Boot百度百科 接下来我们直奔主题,开始用S ...

  2. docker入门之HelloWorld

    docker入门之HelloWorld 作者:雨水,日期:2016-04-01 CSDN博客:http://blog.csdn.net/gobitan 摘要:docker真的是个好东东,能够极大的简化 ...

  3. Flutter入门之——HelloWorld

    Flutter入门之--HelloWorld 安装Flutter开发环境 首先要准备好Flutter的开发环境和开发所使用的IDE,这里我们使用AndroidStudio作为开发工具. Flutter ...

  4. Netty框架之网络通信入门程序~helloWorld

    案例演示:创建客户端和服务端,实现客户端与服务端建立连接,并且发送消息给服务端 Netty框架之网络通信入门程序~helloWorld 1.服务端代码实现 2.客户端代码实现 请尝试阅读代码,并理解注 ...

  5. SpringBoot入门 (一) HelloWorld

    一 什么是springboot springboot是一个全新的框架,它设计的目的简化spring项目的初始环境的搭建和开发,主要有以下几个特点: 1.简化初始配置 ,可与主流框架集成: 2.内置Se ...

  6. SpringBoot——入门(HelloWorld和探究HelloWorld)

    一.简介 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定 ...

  7. SpringBoot_入门-HelloWorld细节-自动配置

    前面分析了pom文件的父依赖,以及starter场景启动器,下面说一下helloworld主程序,这个主程序我们只要运行main方法就行了,但是运行main方法要注意,我们spring应用run的时候 ...

  8. SpringBoot_入门-HelloWorld细节-场景启动器(starter)

    前面我们编写了一个springboot,通过这个helloworld我们发现,Springboot确实简单,他只需要写一个主程序,来启动Springboot的应用,接下来我们就按照我们的业务逻辑,编写 ...

  9. 五天入门SpringBoot(1)—Java SpringBoot 基础--helloworld,15分钟超快速入门

    1.配置开发环境,满足团队开发规范 此处做IDEA最基本的类信息的备注格式配置,File-settings-Editor-File and Code Templates,如下图所示: 2.创建Spri ...

  10. 【SpringBoot 2】(二)快速入门案例HelloWorld

最新文章

  1. 【目标检测】yolo系列:从yolov1到yolov5之YOLOv1详解及复现
  2. 敏捷开发:如何通过回顾保持学习状态
  3. 云南省2021高考成绩查询时间,2021云南高考成绩什么时候几点可以查
  4. 神策数据正式成为国家级信创工委会成员单位
  5. 对于get请求是视频,同时将视频流传给前端问题
  6. 判断session失效,并跳转到登录页面
  7. php隐藏路径ngnix,thinkphp框架在nginx环境下去掉index.php路径显示
  8. python rsa_Python RSA 公钥加密结果不一致
  9. 拼多多市值超1600亿美元 成中国第四大互联网公司
  10. PHP递归遍历数组 不破坏数据结构 替换字符
  11. python中bd是什么属性_python数据类型及其特有方法
  12. 创造or变革:卡萨帝为何能重塑高端品质生活?
  13. vc通过编译指令传参_iOS开发你不知道的事编译amp;链接
  14. s3c2440定时器简介
  15. 21天学通C语言-学习笔记(12)
  16. 牛津高阶字典ld2_(离线)英语词典软件推荐
  17. 环境配置 python 3.6+Anaconda+cuda9.0+cudNN7.0+Tensorflow
  18. 程序的优化 文字的减法
  19. Linux 系统指令
  20. Inspection info: This inspection detects names that should resolve but don‘t. Due to dynamic dispatc

热门文章

  1. [Angular 2] Template property syntax
  2. UIKit 框架之UIActionSheet
  3. Class.getResource()、ClassLoader.getResource()和this.class.getClassLoader()解析
  4. 开发直播APP软件一定要了解的H.264编码,即时通讯中的战斗机
  5. Fabric架构演变之路 1
  6. VS.NET C#视频教学
  7. Git版本管理工具的使用
  8. 图片压缩工具optipng/jpegoptim安装
  9. windows 命令收集
  10. JAVA工程师必学技能,进阶涨薪的推进器!这份实战教程请收下