SpringBoot2.0入门(详细文档)(下)

简介: SpringBoot2.0入门(详细文档)(下)

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
    @RequestMapping("/")
    public String hello(){
        return "hello";
    }
}


重新运行 main 方法启动项目,在浏览器中输入 localhost:8080,如果看到“hello”,那么恭喜你项目启动成功!Spring Boot 就是这么简单方便!端口号默认是8080,如果想要修改,可以在 application.properties 文件中使用 server.port 来人为指定端口,如811端口

server.port=811


常用注解

启动类的注解

@SpringBootApplication是一个复合注解。@SpringBootApplication=@SpringBootConfiguration+@EnableAutoConfiguration+@ComponentScan

@Configuration:@SpringBootConfiguration标注在类上,相当与把该类作为Spring的xml配置文件中的 作用为:配置Spring容器(应用上下文)

@EnableAutoConfiguration:开启自动配置。MATA-INF下的Spring.facotries的一些自动配置类

@ComponentScan:扫描注解。如果不配置basepackage,默认扫描@ComponentScan注解类的同级类和子目录下的所有类。所以要把启动类放到顶级目录。

控制层的注解

@RestController and @RequestMapping是SpringMvc的注解,不是SpringBoot的特有的

@RestController = @Controller+@ResponseBody


完整代码

//bean类
import com.fasterxml.jackson.annotation.*;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
@Data
public class Person implements Serializable {
    private String userid;
    @JsonIgnore//字段不返回
    private int age;
    @JsonFormat(pattern = "yyyy-MM-dd")//指定时间格式
    private Date time;
    @JsonProperty("dizi")//指定别名 注意:使用别名后,请求中key也要使用别名
    private String address;
    @JsonInclude(JsonInclude.Include.NON_NULL)//空字段不返回
    private String mailbox;
}
Controller类
import com.demo.bean.Person;
import org.springframework.web.bind.annotation.*;
@RestController
public class HelloController {
    @RequestMapping("/")
    public String hello(){
        return "hello";
    }
    /**
     * 功能描述:restful协议。从路径中获取参数
     * 1.接口中的参数定义,建议使用下划线隔开,不在使用驼峰
     * 2.path="/{cityid}/{userid}",标识路径中那些参数
     * 3.method=RequestMethod.GET,只处理get请求
     * 4.@PathVariable("cityid"),从路径中取出参数值
     * @return
     */
    @RequestMapping(value = "/{cityid}/{userid}",method = RequestMethod.GET )
    public Object test(
            @PathVariable("cityid")String cityid,
            @PathVariable("userid")String userid){
        return cityid+"---"+userid;
    }
    /**
     *参数的默认值设置
     * 添加@RequestParam 默认此参数是必填的
     * @return
     */
    @RequestMapping("/test02")
    public Object test02(@RequestParam(required = false,defaultValue = "2") Integer pageNo){
        return pageNo;
    }
    /**
     * 测试@RequestBody。要从请求体中获取数据
     * 有如下要求:
     * 1.数据要在请求体中
     * 2.数据的格式为content-type 是值是application/json
     * @return
     */
    @RequestMapping("/test03")
    public Object test03(@RequestBody Person person){
        return person;
    }
    /**
     * 从请求头获取数据
     * 一般情况下请求头中放置认证信息,例如access_token
     * @param access_token
     * @return
     */
    @RequestMapping("/test04")
    public Object test04(@RequestHeader String access_token){
        return access_token;
    }
    /**
     * 获取实体类的参数
     * @JsonIgnore//字段不返回
     * @JsonFormat(pattern = "yyyy-MM-dd")//指定时间格式
     * @JsonProperty("")//指定别名 注意:使用别名后,请求中key也要使用别名
     * @JsonInclude(JsonInclude.Include.NON_NULL)//空字段不返回
     * @return
     */
    @RequestMapping("/test05")
    public Object test05(@RequestBody Person person){
        return person;
    }
}
//pom.xml
<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.5</version>
    </parent>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
            <version>3.5.1</version>
        </dependency>
    </dependencies>

相关文章
|
5月前
|
Java Docker 容器
美团大牛精心整理SpringBoot学习笔记,从Web入门到系统架构
近期慢慢复工,为了准备面试,各路码友们都开始磨拳擦脚,背面试题、知识点。小编最近得一良友赠送了一份关于SpringBoot的学习笔记,简直不要好用,理论解析言简意赅,每一步操作都有图片展示。这么好的东西肯定不能私藏,为了感谢大家在2019年里的支持,我现在将这份笔记赠送给大家,祝大家前程似锦,Offer不断!
|
7月前
|
Java Go 开发者
Spring Boot 简介与入门
Spring Boot 简介与入门
48 0
|
7月前
|
SQL 存储 开发框架
SpringBoot2.0入门(详细文档)二
SpringBoot2.0入门(详细文档)二
|
7月前
|
Java 测试技术 Maven
SpringBoot2.0入门(详细文档)(上)
SpringBoot2.0入门(详细文档)(上)
|
3天前
|
安全 Java 数据库连接
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
在IntelliJ IDEA中通过Spring Boot集成达梦数据库:从入门到精通
|
18天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
4月前
|
Java API
分布式锁【分布式锁概述、业务介绍、创建SpringBoot项目】(一)-全面详解(学习总结---从入门到深化)
分布式锁【分布式锁概述、业务介绍、创建SpringBoot项目】(一)-全面详解(学习总结---从入门到深化)
23 0
|
9月前
|
Java Spring
Spring Boot入门(二十五) 之 错误页面的定制
Spring Boot入门(二十五) 之 错误页面的定制
|
9月前
|
JavaScript Java Spring
Spring Boot入门(二十四) 之 员工删除实现
Spring Boot入门(二十四) 之 员工删除实现
Spring Boot入门(二十四) 之 员工删除实现
|
5月前
|
存储 JSON Java
SpringBoot - 信息检索与ElasticSearch入门
SpringBoot - 信息检索与ElasticSearch入门
37 0