2021-08-15Spring整合SpringMVC的项目实战 Lombok SpringBoot热部署

  • Lombok

  • 作用

以前的Java项目中,充斥着太多不友好的代码:POJO的getter/setter/toString;异常处理;I/O流的关闭操作等等,这些样板代码既没有技术含量,又影响着代码的美观,Lombok应运而生。

简化了Model层的代码的编写

以前pojo类、实体类,需要自己提供set get toString equals hashCode

lombok通过各种注解,简化了以上操作。

  • IDea 安装下载Lombok插件

  • 添加lombok依赖包

<dependencies>
        <!--支持lombok-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>

SpringBoot热部署
作用

每次修改代码修改之后,需要手动的重启服务器. 在开发阶段 能否有一种高效的机制. 每次修改代码之后程序自动重启
添加依赖

  <!--SpringBoot核心机制: "开箱即用"
   只需导入特定的jar包文件 则可以直接使用其中的功能
   根本原因: SpringBoot是对框架的简化,内部进行了扩展,无需程序员操作.
   -->
   <!--支持热部署 -->
   <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-devtools</artifactId>
   </dependency>

配置IDEA

触发机制: 程序的代码被修改了之后需要重启,需要配置IDEA自动的编译代码触发修改的状态.
组合键: ctrl + shift + alt + / 或者 ctrl + alt + a

Spring整合SpringMVC的项目实战

Spring用来管理项目中的所有Bean,需要使用注解@Component @Autowired @Service @Component等

Springmvc用来管理Controller层,需要使用的注解有@RestController @RequestMapping等

需求!

访问链接: http://localhost:8080/car/get
得到JSON数据: {"name":"保时捷","color":"红色","price":641000.0}

创建RunApp.java

package cn.tedu;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Runapp {
    public static void main(String[] args) {
        SpringApplication.run(Runapp.class);
    }
}
//pojo类
package cn.tedu.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

@Data
@NoArgsConstructor
@AllArgsConstructor
@Accessors(chain = true)
public class Car {
    private  Integer id;
    private String name;
    private String color;
    private double price;
}

//抽象类
package cn.tedu.cn.tedu.serive;

import cn.tedu.pojo.Car;

public interface CarSerive {
    Car get();
    void add(Car c);
}
//实现
package cn.tedu.cn.tedu.serive;

import cn.tedu.pojo.Car;
import org.springframework.stereotype.Component;

@Component
public class CarSeriverImpl implements CarSerive {

    @Override
    public Car get() {
        Car car = new Car();
        car.setName("1");
        return car;
    }

    @Override
    public void add(Car c) {

    }
}

//controller 类

package cn.tedu.controller;

import cn.tedu.cn.tedu.serive.CarSeriverImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("car")
public class Test1 {
    @Autowired
    private CarSeriverImpl carSeriver;
    @RequestMapping("get")
    public Object get(){
        return carSeriver.get();
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值