Spring Boot一课一得

Spring Boot 的前言是一个非常流行的开源框架,它被广泛应用于企业级应用开发。它基于 Spring 框架,并带来了许多便利之处。相比于传统的 Spring 项目,Spring Boot 简化了项目的配置、编码和部署过程,并提供了开箱即用的功能,大大提高了开发效率。

Spring Boot 的优点包括:

  1. 快速创建项目和集成主流框架:Spring Boot 提供了许多 starter,可以快速集成各种主流框架,如数据库、消息队列等,大大减少了开发者的工作量。
  2. 使用嵌入式容器:Spring Boot 使用嵌入式容器,无需将应用打包成 War 包,可以直接运行,简化了部署过程。
  3. 自动依赖与版本控制:Spring Boot 的 starter 可以自动解决依赖和版本控制的问题,开发者无需手动配置依赖和版本信息。
  4. 自动配置:Spring Boot 提供了许多自动配置的功能,可以极大地简化开发过程,减少了开发者的工作量。
  5. 生产就绪功能:Spring Boot 提供了许多生产就绪的功能,如健康检查、远程调试等,方便应用在生产环境中使用。
  6. 开箱即用:Spring Boot 无需繁琐的 XML 配置,提供了默认的配置,开发者可以直接使用。

总之,Spring Boot 是一个非常强大且方便的框架,可以大大提高开发效率,并且适用于各种规模的项目和企业级应用开发

这是一个使用Spring Boot开发的控制器类,用于处理用户相关的请求。

首先,使用`@Controller`注解将该类标记为控制器。
接着,使用`@RequestMapping`注解指定了控制器类的根路径为"/user"。

在构造函数中,使用`@Autowired`注解将`SysUserServiceImpl`注入到`SysUserController`中。

接下来,定义了一系列的请求处理方法:

1. `list`方法用于处理"/user/list"路径的GET请求,它调用`service.getAll()`方法获取所有的用户列表,并将列表通过`model.addAttribute()`方法添加到名为"list"的属性中,然后返回"/user/list"视图。
2. `insert`方法用于处理"/user/insert"路径的GET请求,它创建一个新的`SysUser`对象,并将对象通过`model.addAttribute()`方法添加到名为"user"的属性中,然后返回"/user/edit"视图。
3. `edit`方法用于处理"/user/edit/{id}"路径的GET请求,它根据指定的id调用`service.getById(id)`方法获取对应的`SysUser`对象,并将对象通过`model.addAttribute()`方法添加到名为"user"的属性中,然后返回"/user/edit"视图。
4. `save`方法用于处理"/user/save"路径的POST请求,它根据提交的表单数据创建或更新`SysUser`对象,并将对象通过`@ModelAttribute("user")`注解传递到方法中,然后根据`entity.getId()`是否为空来判断是执行更新操作还是插入操作,最后返回"redirect:/user/list"进行重定向。
5. `detail`方法用于处理"/user/detail/{id}"路径的GET请求,它根据指定的id调用`service.getById(id)`方法获取对应的`SysUser`对象,并将对象通过`model.addAttribute()`方法添加到名为"user"的属性中,然后返回"/user/detail"视图。
6. `delete`方法用于处理"/user/delete/{id}"路径的GET请求,它根据指定的id调用`service.delete(id)`方法删除对应的`SysUser`对象,然后返回"redirect:/user/list"进行重定向。

这个控制器类主要用于用户列表的展示、添加、编辑、删除和详情等操作。

package com.yjl.parkingmis.controller;

import com.yjl.parkingmis.entity.SysUser;
import com.yjl.parkingmis.service.SysUserServiceImpl;
import lombok.Value;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import java.util.List;

@Controller
@RequestMapping("/user")
public class SysUserController {
    SysUserServiceImpl service;
    @Autowired
    public SysUserController(SysUserServiceImpl service){
        this.service=service;
    }
    @RequestMapping("/list")
    public String list(Model model){
        List<SysUser> list=service.getAll();
        model.addAttribute("list",list);//model打包成list属性完成list对象的值传递
        return "/user/list";
    }
    @RequestMapping (value = "/insert")
    public String insert(Model model){
        model.addAttribute("user",new SysUser());
        return "/user/edit";
    }
    @RequestMapping (value = "/edit/{id}")
    public String edit(@PathVariable("id")long id, Model model){
        SysUser entity=service.getById(id);
        model.addAttribute("user",entity);
        return "/user/edit";
    }
    @RequestMapping(value = "save",method = RequestMethod.POST)
    public String save(@ModelAttribute("user") SysUser entity){
        int result=entity.getId()!=null?service.update(entity):service.insert(entity);
        //以下return实现需要对result进行判断,当result为非0,页面跳转到list,否....
        return  "redirect:/user/list";
    }

    @RequestMapping(value =  "/detail/{id}")
    public String detail(@PathVariable("id")Long id, Model model){
        SysUser entity=service.getById(id);
        model.addAttribute("user",entity);
        return "/user/detail";
    }
    @RequestMapping(value = "/delete/{id}")
    public String delete(@PathVariable("id")Long id){
        service.delete(id);
        return "redirect:/user/list";
    }


}
package com.yjl.parkingmis.entity;

import com.fasterxml.jackson.core.io.schubfach.DoubleToDecimal;
import lombok.Data;
@Data
//缴费凭据
public class Order {
    private Long id;
    private Data inDateTime;//入场时间
    private Data outDateTime;//离场时间
    private DoubleToDecimal price;//缴费金额
    private boolean isPayComplete;//缴费完成状态
    private  boolean isRequireInvoicing;//是否开具发票

    private PricingStandard pricingStandard;//关联收费标准
    private ParkingLot parkingLot;//关联停车场
    private Vehicle vehicle;//关联车辆
}
package com.yjl.parkingmis.entity;

import lombok.Data;

@Data
public class ParkingLot {
    private  Long id;
    private String name;
    private  int volumetric;//容积,车位数量
}
package com.yjl.parkingmis.entity;

import lombok.Data;

@Data
//收费标准
public class PricingStandard {
    private  Long id;
    private  Integer hourIyRate;//小时计费
    private  Integer dailyRate;//按天计费
    private  Integer exceedingHours;//超时间数,超过多少小时按天计费
    private  Data updateTime;//更新日期

}
package com.yjl.parkingmis.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
//系统用户实体类
@TableName
@Data
public class SysUser {
    private Long id;
    private  String username;
    private  String password;
    private  String salt;//加盐,用于密码加密

}
package com.yjl.parkingmis.service;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yjl.parkingmis.entity.SysUser;
import com.yjl.parkingmis.mapper.SysUserMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class ParkingLotMapper extends ServiceImpl<SysUserMapper,SysUser>  {
    SysUserMapper mapper;
    @Autowired
    public ParkingLotMapper(SysUserMapper mapper){
        this.mapper=mapper;
    }


    public List<SysUser> getAll() {
        List<SysUser> list=mapper.selectList(null);
        return list;
    }


    public SysUser getById(Long id) {
        SysUser entity=mapper.selectById(id);
        return entity;
    }


    public int insert(SysUser entity) {
        return  mapper.insert(entity);

    }


    public int update(SysUser entity) {
        return mapper.updateById(entity);
    }


    public boolean delete(Long id) {
        return mapper.deleteById(id)>0?true:false;
    }


    public String getSalt() {
        return null;
    }


    public String encryptPassword(String password, String salt) {
        return null;
    }


    public boolean validatePassword(String password, String encryptPassword, String salt) {
        return false;
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值