SpringBoot(1)、HelloWorld
什么是SpringBoot?
SpringBoot简化了基于Spring的应用开发,你只需要run就能创建一个独立的,产品级别的Spring应用。可以用SpringBoot创建Java应用,并使用java -jar启动它或采用传统的war包部署方式。
SpringBoot目标概述
1、为所有Spring开发提供一个从根本上更快,且随处可得的入门体验。
2、开箱即用,但通过不采用默认设置可以快速摆脱这种方式。
3、提供一系列大型项目常用的非功能性特征,比如:内嵌服务器,安全,指标,健康监测,外部化配置。
4、绝对没有代码生成,也不需要XML配置。
系统要求
默认情况下,SpringBoot1.4.0.BUILD-SNAPSHOT需要java7环境,Spring框架4.3.2或以上版本,用低版本的话,需要额外的配置。
SpringBoot的安装
Maven安装
maven安装的话需要Maven3.2或更高版本。
代码如下:
<?xml version="1.0" encoding="UTF-8"?>
<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.ctw.springboot</groupId>
<artifactId>springboot-01</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Spring Boot Blank Project (from https://github.com/making/spring-boot-blank)</name>
<!-- 继承父包 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.2.RELEASE</version>
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<dependencies>
<!-- spring-boot的web启动的jar包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
</project>
运行mvn dependency:tree
,你将看到一些其他依赖,比如Tomcat服务器和SpringBoot自身,是因为spring-boot-starter-web
的功劳。
package day01;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Spring-Boot之HelloWorld
* @author TongWei.Chen
* @date 2017年4月2日21:58:34
*/
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "HelloWorld";
}
/**
* 启动后,访问localhost:8080/,看页面是否出现HelloWorld
* @param args
*/
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
代码分析:
1、@RestController和@RequestMapping("/")不解释,SpringMvc注解,不属于SpringBoot范围。
2、@EnableAutoConfiguration注解:这个注解告诉SpringBoot根据添加的jar依赖猜测你想如何配置Spring,由于spring-boot-starter-web
添加了Tomcat和SpringMVC,所以auto-configuration将假定你正在开发一个web应用,并对Spring进行相应的设置。
3、main方法:调用run,将业务委托给了SpringBoot的SpringApplication类。SpringApplication将引导我们的应用,启动Spring,相应的启动被自动配置的Tomcat服务器,我们需要将Example.class作为参数传递给run方法,以此来告诉SpringApplication谁是主要的Spring组件,并传递args数组来暴露出所有的命令行参数。
运行run方法,查看是否成功
run方法运行成功后,打开浏览器输入:http://localhost:8080
,查看是否可以出现HelloWorld页面。
补充:创建可执行的jar
在pom中新增
<build>
<plugins>
<!--maven的插件-->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
输入mvn package
即可完成打包工作。查看target目录,会出现xxxx-version-SNAPSHOT.jar,运行如下命令查看内部结构
tar tvf target/xxxx-version-SNAPSHOT.jar
在该目录下,还会有一个名为xxxx-version-SNAPSHOT.jar.original的文件,可以使用java -jar
命令直接运行该应用程序,运行完后输入网址,依旧可以看到HelloWorld。
若有兴趣,欢迎来加入群,【Java初学者学习交流群】:458430385,此群有Java开发人员、UI设计人员和前端工程师。有问必答,共同探讨学习,一起进步!
欢迎关注我的微信公众号【Java码农社区】,会定时推送各种干货:
![](https://img.haomeiwen.com/i4582242/ca4a357ae859b1aa.jpg)