第二周学习笔记

学习内容

@注释

在这里插入图片描述
1.@Override
2.@Deprecated
3.@SuppressWarnings  
4.@SafeVarargs
5.@FunctionalInterface
https://blog.csdn.net/weixin_43748564/article/details/107375850
Controller 和 RestController 区别

  1. Controller和RestController 都是用来表示Spring某个类的是否可以接收HTTP请求。

  2. Controller, RestController的不同点:

@Controller:标识一个Spring类是Spring MVC controller处理器
@RestController:@RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。@Controller类中的方法可以直接通过返回String跳转到jsp、ftl、html等模版页面。在方法上加@ResponseBody注解,也可以返回实体对象。@RestController类中的所有方法只能返回String、Object、Json等实体对象,不能跳转到模版页面
ApiModel 和 ApiModelProperty 区别

@ApiModel是用在接口相关的实体类上的注解,常常和@ApiModelProperty注解配合使用。
@ApiModelProperty注解则是作用在接口相关实体类的属性(字段)上的注解,用来对具体的接口相关实体类中的参数添加额外的描述信息,也经常单独拿出来用。
注意:ApiModel和 ApiModelProperty两个注解的作用域不同,一个是作用在类上,一个作用在属性上。
ApiModelProperty注解的属性较多,其中使用较多的属性有:value、name、required 、hidden以及allowEmptyValue属性。value属性就是对实体类中的字段进行描述和补充说明,解释该字段代表什么意思。比如,如果上述的实体类中的id字段信息,可以对其进行描述,所以可以理解为它就是一个注释的作用,方便清楚字段的含义。
学习:https://juejin.cn/post/7109835493952454693

类声明

public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且允许跨包(package)访问。
private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的类、属性以及方法只能被该类的对象访问,其子类不能访问,更不能允许跨包访问。
protect: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护形”。被其修饰的类、属性以及方法只能被类本身的方法及子类访问,即使子类在不同的包中也可以访问。
default:即不加任何访问修饰符,通常称为“默认访问模式“。该模式下,只允许在同一个包中进行访问。不写声明则默认是default

创建类变量的约束注释、如何判定空值

使用@NotNull判定空置,引入依赖为:

import javax.validation.constraints.NotNull;

使用示例:

    @ApiModelProperty("地区")
    @NotNull(message = "行政区域不能为空")
    private String Region;

常用约束注解:

@Null 被注释的元素必须为null
@NotNull 被注释的元素不能为null
@AssertTrue 被注释的元素必须为true
@AssertFalse 被注释的元素必须为false
@Email 被注释的元素必须是电子邮件地址
@NotEmpty 被注释的字符串必须非空
@Range 被注释的元素必须在合适的范围内
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Length 被注释的字符串的大小必须在指定的范围内
@Size(max,min) 被注释的元素的大小必须在指定的范围内。
@Pattern(value) 被注释的元素必须符合指定的正则表达式。
@Min(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Digits(integer,fraction) 被注释的元素必须是一个数字,其值必须在可接受的范围内

实体类相同字段赋值

正常赋值使用get和set,字段比较多的时候,可以使用一个工具类:

BeanUtils.copyProperties(voparams, tsparams);

导入包的时候:

import org.springframework.beans.BeanUtils;

Mybatis Plus内置Mapper

    public Integer myClassInsert(myClass myclassparams) {
        Integer res = myClassMapper.insert(myclassparams);
        return res; //返回1则为增加成功
    }


根据id查询:

public void testSelectById() {
    People people = peopleMapper.selectById(1);
    System.out.println("people: " + people);
}

条件查询

public void testSelectAll() 
	//条件为空则查询全部
    List<People> list = peopleMapper.selectList(null);
    list.forEach( System.out::println );
}
public void testSelectByParam2() {
    // 表字段map
    Map<String, Object> map = new HashMap<>();
    map.put("sex", "女");
    // Note:这里设置条件应使用数据表的字段名,而不是Java类的属性名
    map.put("name", "佳丽");
    // 多个条件为and的关系
    List<People> list = peopleMapper.selectByMap(map);
    list.forEach(System.out::println);
}

impl的作用、VO层的作用

在这里插入图片描述

VO层的存在就是方便前端获取数据,后端将前端的需要的数据做一个整合,打包成一个类。
注意:VO层不可继承自 Entity。
在这里插入图片描述

https://blog.csdn.net/Wangdiankun/article/details/104223921

获取 POST 请求参数详解

https://blog.csdn.net/small_love/article/details/111806745

修改端口

在application.properties文件中设置:server.port=xxxx

在这里插入图片描述

报错和问题处理

MyBatis-plus 新增实例,主键ID从很大的数字开始

向数据库新增一条实例,调用MyBatis-plus已经封装好的insert方法;数据库表设置了自增,但mybatis-plus在新增的时候,会出现主键ID从很大的数字开始(example ‘17629802347414’),而不是跟随自增序列增大。
在这里插入图片描述
原因在于,mybatis-plus在新增的时候会给一个主键ID,并且这个数字不规范,还不连续。这时候需要设置忽略掉这一点:
在这里插入图片描述

使用注释 @RequestMapping() 后,请求接口404报错

在pom.xml中导入webmvc依赖包:

<dependency>
	<groupId>org.springframework</groupId>
	<artifactId>spring-webmvc</artifactId>
	<version>6.0.10</version>
</dependency>

项目启动失败

一般是依赖项版本的问题,在pom.xml中,如果有依赖项提示更新就可以更新一下,另外添加、修改依赖后要记得刷新一下maven
在这里插入图片描述

无法自动装配。找不到 ‘****‘ 类型的 Bean问题

https://blog.csdn.net/hilinxs/article/details/123719386

字符串转日期 format.parse 报错

需要用try和catch接一下:
在这里插入图片描述
示例:

    public static Date getStrToDate(String str)
    {
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
        Date date = null;
        try
        {
            date = format.parse(str);
        }
        catch(ParseException e)
        {
            e.printStackTrace();
        }
        return date;
    }

学习:https://blog.csdn.net/xldancer/article/details/43453593

报错:“无法从 static 上下文引用非 static 方法 ‘toString()’”

想直接调用idea生成的tostring方法报的错,没查到解决方法,把自动生成的方法删了,反而能调用了。

idea 使用

使用idea创建一个springboot项目

在这里插入图片描述

下一步,选择依赖项,确认。
在这里插入图片描述

关闭拼写检查

在文件-设置中,检索“拼写”
在这里插入图片描述

改中文

在文件-设置中,打开“插件”,搜索“chinese”安装

在这里插入图片描述

选中相同内容

在IDEA中:

选中下一个相同内容的快捷键是:Alt + J

选中所有相同内容的快捷键是:Ctrl + Shift + Alt + J

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值