美文网首页
Spring Boot-(1)先跑起来

Spring Boot-(1)先跑起来

作者: 会点代码的大叔 | 来源:发表于2017-10-25 16:53 被阅读100次

    最好的参考文档: Spring boot的官方文档

    最近在跟进一个项目,用的是Spring Cloud一套的东西,一些东西研究起来比较吃力,还是对一些基础的知识了解的不够深入,比如Spring Boot,所以干脆重新研究一遍。

    用比较Low的方式新建这个项目,高大上点儿的话可以使用https://start.spring.io/来创建项目,先还是使用手动创建的方式。

    其实直接参考官方的Quick Start即可.

    1.新建一个maven工程。

    <groupId>com.spring.lw</groupId>
    <artifactId>Towns</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>
    

    2.引入jar包:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.8.RELEASE</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>
    

    最好能指定一下JDK的版本

    <build>
        <plugins>
            <!-- compiler插件, 设定JDK版本 -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <showWarnings>true</showWarnings>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    3.增加一些包路径,目前工程的目录结构为:

    image.png

    4.增加TownsApplication.java,这个是Spring boot的入口:

    package com.spring.lw.Towns;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication  
    //same as @Configuration @EnableAutoConfiguration @ComponentScan
    public class TownsApplication {
        public static void main( String[] args ){
            SpringApplication.run(TownsApplication.class, args);
        }
    }
    

    5.实体类:

    package com.spring.lw.Towns.vo;
    
    import lombok.Data;
    
    @Data
    public class User {
        private int id;
        
        private String username;
        
        private String password;
        
        private String managecom ;
        
        public String toString(){
            return "id = " + id 
                    + " , username = " + username 
                    + ", password = " + password  
                    + ", managecom = " + managecom ;
        }
    }
    

    6.暴露对外的Rest接口:

    package com.spring.lw.Towns.controller;
    
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    import com.spring.lw.Towns.vo.User;
    
    @RestController
    @RequestMapping(value="/user")
    public class UserController {
        
        @RequestMapping(value="/get")
        public User getUser(){
            User user = new User();
            user.setUsername("Towns");
            user.setManagecom("US");
            user.setPassword("123456");
            user.setId(10001);
            
            return user ;
        }
    }
    

    7.TownsApplication.java-->run as Java Application,运行后浏览器可以访问:

    http://10.136.19.170:8080/user/get
    
    浏览器返回:{"id":10001,"username":"Towns","password":"123456","managecom":"US"}
    

    知识点(抄的官方文档,加上自己的理解和翻译):

    1. @RestController and @RequestMapping annotations
    • 这两个是Spring MVC的annotations,在Spring Boot中没有特殊的含义。
    • 在上面的例子中,UserController加上了@RestController注解,那么Spring会把这个类去处理Web请求。
    • @RequestMapping提供了一个路由的信息,它告诉Spring,当有[/user]请求的时候,交给这个类进行处理。
    1. @EnableAutoConfiguration annotation
    • 其实上面的例子中没有使用 @EnableAutoConfiguration,在TownsApplication中使用的是@SpringBootApplication。实际上在官网的Quick Start中使用的是@EnableAutoConfiguration。
    • @EnableAutoConfiguration 告诉Spring Boot去“猜测”你想如何配置Spring。当你引入了spring-boot-starter-web的时候,这个自动化的配置就会确认你开发的是一个Web项目,那么Spring Boot会对Tomcat和Spring MVC进行自动配置。
    • Spring Boot会扫描@EnableAutoConfiguration所在类的同级包以及下级包中的Bean,也也是为什么入口类要放在最外层的原因。
    • @SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan

    相关文章

      网友评论

          本文标题:Spring Boot-(1)先跑起来

          本文链接:https://www.haomeiwen.com/subject/uwaqpxtx.html