环境准备
- Eclipse 4.6+JDK 1.8+Maven 3.5
创建Hello World
- 创建一个简单的maven项目,点击 File->New->Other,搜索maven. ->next
- 搜索webapp并选中->next
- 输入项目名和包名->finish
- 完成后修改项目结构如下图:
- 创建完项目后打开pom.xml引入spring boot的依赖包
pom.xml
<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.wg</groupId>
<artifactId>springboot-demo</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>springboot-demo Maven Webapp</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.8.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>1.5.8.RELEASE</version>
</dependency>
</dependencies>
<build>
<finalName>springboot-demo</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.8.RELEASE</version>
</plugin>
</plugins>
</build>
</project>
- 然后创建
com.wg/Example.java
:
package com.wg;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @Description
* @author w.g
*/
@SpringBootApplication
public class Example {
public static void main(String[] args) {
// TODO Auto-generated method stub
SpringApplication.run(Example.class,args);
}
}
- 创建一个
com.wg/HelloController.java
,定义两个方法
package com.wg;
import java.util.HashMap;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description
* @author w.g
* @date 2017-10-27 10:40:59
*/
@RestController
@RequestMapping("/hello")
public class HelloController {
@RequestMapping
public String loadInfo(){
return "Hello World!";
}
@RequestMapping("/map")
public Map<String,String> loadMap(@RequestParam String name){
Map<String, String> map = new HashMap<>();
map.put("name", name);
return map;
}
}
启动spring boot
- 由于spring boot内置了Tomcat,我们直接启动主类(
Exampl.java
)即可,
启动后在浏览器中输入请求即可看到结果
http://localhost:8080/hello
输出:Hello World!
http://localhost:8080/hello/map?name=wg
输出:{“name”:”wg”}
遇到的问题
下面来说说构建hello world过程中的我遇到的问题吧.
1. 没有生成maven dependencies
仔细检查pom.xml,在确认pom.xml没有出错的情况下(我就是pom错了)没有生成dependencies的话,打开项目.classpath文件添加如下内容,刷新项目即可
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
</attributes>
</classpathentry>
- 运行报错:无法加载或找不到主类
这是因为没有生成或清除了编译的class文件,
可以重构项目试试,也可以重新制定编译目录
右键项目–>build path–>config build path–>source–>修改默认classes目录为springboot-demo/target/classes.
- java.lang.NoSuchMethodError
这是Tomcat版本冲突的原因,我这里出错是因为添加里tomcat7服务器,右键项目–>build path–>config build path–>Libraries–>remove掉Tomcat即可
通过Hello world实例可以知道spring-boot创建项目是如此的简单,少了繁琐的xml配置,更方便我们做项目.不过还是要注意细节,本来几分钟的事硬是让我弄了个吧小时(/笑哭)