关于IntelliJ IDEA错误的预判/SLF4j日志/Spring MVC

关于IntelliJ IDEA错误的预判

问题1:使用Lombok后,不会自动提示Setter和Getter,且使用相当方法后提示错误

在IntelliJ IDEA中安装Lombok插件即可。

问题2:使用Mybatis时,尝试自动装配Mapper接口的对象时提示错误

  • 【推荐】在Mapper接口上添加@Repository注解即可
  • 【不推荐】使用@Resource替换@Autowired

另外,不使用@MapperScan,而是在每个Mapper接口上使用@Mapper也可以解决此问题!

问题3:在配置SQL的XML中,使用<sql>节点封装字段列表时提示错误

  • 【不推荐】在IntelliJ IDEA中进行配置,不检查SQL

  • 【推荐】使用某种合法的、不影响当前代码运行的代码片段,“骗”过IntelliJ IDEA即可,例如:

    <sql id="StandardQueryFields">
        <if test="true">
            id, name, pinyin, logo, description,
            keywords, sort, sales, product_count, comment_count,
            positive_comment_count, enable
        </if>
    </sql>
    

关于SLF4j日志

在Spring Boot项目中,在spring-boot-starter依赖项中,默认已经集成了SLF4j日志框架。

在添加了Lombok依赖项后,可以在需要输出日志的类上添加@Slf4j注解,则Lombok框架会在编译期自动添加名为log的日志变量。

日志的显示级别,根据日志信息内容的重要程度,从低到高依次为:

  • trace:跟踪信息
  • debug:调试信息
  • info:一般信息
  • warn:警告信息
  • error:错误信息

在SLF4j中,调用log变量时,有以上5种级别对应的方法,调用与日志显示级别对应的方法,则输出的日志就是对应的级别,例如调用log.debug()时,输出的日志就是DEBUG级别的日志,调用log.warn()时,输出的日志就是WARN级别的日志。

在Spring Boot项目中,默认的显示级别是info,相比info较低级别的日志不会被输出!

在Spring Boot项目中,可以在application.properties中通过logging.level.包名属性来设置日志的显示级别:

# 日志的显示级别
logging.level.cn.tedu.csmall=trace

关于以上配置:

  • 包名部分,必须至少写1级包名,例如logging.level.cn,如果没有包名,则是错误的
  • 配置的包名是”根包“,所以子孙包及其下的所有类的日志都会是以上配置的级别
  • 如果认为有必要的话,甚至可以配置到具体的类

使用日志的好处:

  • 可以通过简单的配置,实现控制日志的显示级别,所以,可以使得某些日志仅开发时能输出,在生产环境中不会输出
  • 使用日志时,可以使用常量字符串,输出结果中的变量值均在此常量字符串中使用占位符表示即可,所以,字符串的处理效率非常高,并且,代码简洁

3. 关于Spring MVC

Spring MVC框架主要解决了接收请求、响应结果的相关问题。

在Spring Boot项目中,当需要使用Spring MVC框架及相关的功能时,应该添加spring-boot-starter-web依赖项。由于spring-boot-starter-web是基于spring-boot-starter依赖项的,所以,spring-boot-starter-web包含了spring-boot-starter,在实际编码时,只需要将spring-boot-starter改为spring-boot-starter-web即可。

当添加了spring-boot-starter-web依赖项后,当启动项目时,默认情况下,就会自动将当前项目编译、打包并部署到内置的Tomcat中,并启动Tomcat,默认占用8080端口。

如果需要修改默认占用的端口号,可以在application.properties中配置server.port属性,例如:

# 服务端口
server.port=9080
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值