springboot(1)——快速入门

版权声明:本文出自mqy1023的博客,转载必须注明出处。 https://blog.csdn.net/mqy1023/article/details/79633257

《一》、快速入门

一、概述

springboot使用”习惯优于配置(项目中存在大量的配置,此外还内置一个习惯性的配置,让你无须手动进行配置)”的理念让你的项目快速运行起来, 可以不用或者只需要很少的spring配置很容易创建一个独立运行(运行jar,内嵌Servlet容器)、准生产级别的基于spring框架的项目

二、核心功能

  • 1、独立运行的spring项目

可以以jar包(java -jar xxx.jar)的形式独立运行

  • 2、 内嵌Servlet容器

springboot可以内嵌Tomcat、Jetty等, 这样无须以war包形式部署项目.

  • 3、提供starter简化maven配置
  • 4、自动配置spring
  • 5、准生产的应用监控
  • 6、无代码生成和xml配置
  • 7、可以整合springcloud等微服务

三、快速搭建

  • 1、使用IDEA新建Spring Initializr项目

  • 2、测试Web模块
    新建HelloController类,内容如下

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String index() {
        return "hello springboot";
    }
}

启动主程序,打开浏览器访问http://localhost:8080/hello,可以看到页面输出hello springboot

四、响应客户端渲染数据

封装返回一个json对象

// 1、返回前端的VO类(ResultVO.java)
@Data // 同等于@Getter和@Setter
@Accessors(chain = true)
public class ResultVO<T> implements Serializable {
    /** 错误码. */
    private Integer code;
    /** 提示信息. */
    private String msg;
    /** 具体内容. */
    private T data;
}
// 2、封装ResultVOUtil返回工具类
public class ResultVOUtil {

    public static ResultVO success(Object object) {
        ResultVO resultVO = new ResultVO();
        resultVO.setData(object).setCode(0).setMsg("成功");
        return resultVO;
    }

    public static ResultVO success() {
        return success(null);
    }

    public static ResultVO error(Integer code, String msg) {
        ResultVO resultVO = new ResultVO();
        resultVO.setCode(code).setMsg(msg);
        return resultVO;
    }
}

1、@RestController 同等于 @Controller + @ResponseBody

2、Java Bean类中@Data注解(相当于@Getter和@Setter注解;省略了get和set写法), 需引入lombok

3、注解@Accessors(chain = true), 可以链式操作Java Bean类 需引入lombok

4、注解@DynamicUpdate更新数据操作时会自动更新数据库中on update current_timestamp的时间字段

`update_time` timestamp not null default current_timestamp on update current_timestamp comment '修改时间'

五、表单验证

  • 1、jackson基本演绎法(注解Java Bean对象中各字段)

    • @JsonIgnore前端不显示该字段
    • @JsonInclude(Include.NON_NULL)该字段为空时前端不显示出来
    • @JsonFormat(pattern="yyyy-MM-dd hh:mm:ss a", locale="zh", timezone="GMT+8")时间格式
  • 2、javabean设置验证条件

@Data
@Entity
@Accessors(chain = true)
@Table(name = "girl")
public class GirlEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer girdId;

    @Min(value = 18, message = "未成年禁止进入")
    private String age;

    @NotEmpty(message = "姓名不能为空")
    private Integer name;
}
  • 3、controller中验证
@PostMapping("/save")
public GirlEntity save(@Valid GirlEntity girlEntity,
                     BindingResult bindingResult) {
    if (bindingResult.hasErrors()) { // 验证中有错误
        System.out.println(bindingResult.getFieldError().getDefaultMessage());
        return null;
    }
    // ...
    // ...
    return null;
}

猜你喜欢

转载自blog.csdn.net/mqy1023/article/details/79633257