spring-boot入门笔记

来源:互联网 发布:iphone相片导入mac 编辑:程序博客网 时间:2024/04/27 13:35

    • 环境准备
    • 创建Hello World
    • 启动spring boot
    • 遇到的问题

环境准备

  • Eclipse 4.6+JDK 1.8+Maven 3.5

创建Hello World

  1. 创建一个简单的maven项目,点击 File->New->Other,搜索maven. ->next
    创建Maven项目
  2. 搜索webapp并选中->next
    搜索webapp并选中
  3. 输入项目名和包名->finish
    输入项目名和包名
  4. 完成后修改项目结构如下图:
    项目结构

  • 创建完项目后打开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 */@SpringBootApplicationpublic 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>
  1. 运行报错:无法加载或找不到主类
    这是因为没有生成或清除了编译的class文件,
    可以重构项目试试,也可以重新制定编译目录
    右键项目–>build path–>config build path–>source–>修改默认classes目录为springboot-demo/target/classes.
    修改classes目录
  2. java.lang.NoSuchMethodError
    这是Tomcat版本冲突的原因,我这里出错是因为添加里tomcat7服务器,右键项目–>build path–>config build path–>Libraries–>remove掉Tomcat即可

通过Hello world实例可以知道spring-boot创建项目是如此的简单,少了繁琐的xml配置,更方便我们做项目.不过还是要注意细节,本来几分钟的事硬是让我弄了个吧小时(/笑哭)