SpringBoot之路SpringFrameworkSpring Boot

SpringBoot(1)、HelloWorld

2017-04-02  本文已影响168人  编程界的小学生

什么是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码农社区】,会定时推送各种干货:


qrcode_for_gh_577b64e73701_258.jpg
上一篇 下一篇

猜你喜欢

热点阅读