spring boot 快速入门
最近工作需要,简单了解一下spring boot,也体会到了spring boot 的"just run"功力,接下来就让我们一起来创建一个简单的web应用吧。
1.首先,在创建web应用之前,我们需要做以下环境准备工作:
- 文本编辑器(Editplus、sublime text)
- Java环境(JDK1.7或以上)
- Maven 3.0版本以上
2.使用maven构建web项目
(1)执行mvn archetype:generate命令
mvn archetype:generate -DgroupId=com.maven.webapp -DartifactId=springbootdemo -DarchetypeArtifactId=maven-archetype-webapp -DinteractiveMode=false -DarchetypeCatalog=internal ,创建的过程如下:
其中groupId表示组织名,artifactId表示项目名,archetypeArtifactId表示maven项目骨架,常见的有maven-archetype-quickstart,创建一个Java Project,maven-archetype-webapp,创建一个Web Project。interactiveMode表示是否使用交互模式,false则表示我们使用批处理模式(Batch Mode),-DarchetypeCatalog=internal表示archetype-catalog.xml本地获取,可以加快生成web项目的速度。该命令的参数-DarchetypeCatalog,可选值为:remote,internal ,local等,用来指定archetype-catalog.xml文件从哪里获取。默认为remote,即从 http://repo1.maven.org/maven2/archetype-catalog.xml路径下载archetype-catalog.xml文件。http://repo1.maven.org/maven2/archetype-catalog.xml 文件约为3-4M,下载速度很慢,导致创建过程卡住。以下是常见的三个值含义:
①internal——maven-archetype-plugin内置的
②local——本地的,位置为~/.m2/archetype-catalog.xml,本地读取需要把catalog.xml文件下载下来。然后把-DarchetypeCatalog改成local
(2)修改创建的Web项目目录
创建好的Web项目中目前只有src/main/resources目录,因此还需要手动添加src/main/java、src/test/java、src/test/resources,这样才是一个标准的Web项目的目录结构
(3)使用maven打包发布Web项目
命令行切换到springbootdemo目录下,执行:mvn package,执行完毕,我们会发现springbootdemo目录下多了一个target目录,在target目录下会生成springbootdemo.war,将这个war包拷贝到tomcat的webapps目录下就可以运行了。
(4)访问http://localhost:8080/springbootdemo/运行效果如下:
3.使用spring boot快速构建web项目
(1)接maven构建web项目第二步,之后的一系列复杂的操作我们都可以省略,只需在maven项目的配置文件pom.xml里面加一个parent配置,dependencies下添加spring-boot-starter-web依赖即可。具体配置信息如下:
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.maven.webapp</groupId> <artifactId>springbootdemo</artifactId> <packaging>war</packaging> <version>1.0-SNAPSHOT</version> <name>springbootdemo Maven Webapp</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <java.version>1.8</java.version> </properties> <!-- Spring Boot 启动父依赖 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.3.4.RELEASE</version> </parent> <dependencies> <!-- Spring Boot web依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <build> <finalName>springbootdemo</finalName> </build> </project>
(2)在src/main/java目录下,创建Application.java文件(注意保存的时候选择编码utf-8,要不然可能出现编码错误)。内容如下:
package com.maven.webapp; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; @Controller @EnableAutoConfiguration public class HelloController { @RequestMapping("/hello") @ResponseBody String home() { return "Hello ,spring boot!"; } public static void main(String[] args) throws Exception { SpringApplication.run(HelloController.class, args); //运行之后在浏览器中访问:http://localhost:8080/hello } }
其中,@controller 注解action类 ,@Requestmapping 映射请求地址,@EnableAutoConfiguration注解告诉spring boot根据添加的jar依赖猜测你如何配置spring,这个main方法使用来运行这个demo的。
(3)运行应用:mvn spring-boot:run,在浏览器访问http://localhost:8080/hello, 页面显示Hello spring boot! 即成功。