Feb 24日学习日志

Bug01:Cause: java.sql.SQLSyntaxErrorException: Unknown column 'id' in 'field list'

问题分析:这个问题主要时出在你的数据库里面的表的字段和你实体类的字段不统一

可能原因:可能时你在创建表时在编写字段名的时候不小心将id的前后加了一个空格,导致你没发现

最终原因:其次就是有可能你连接的数据库错了(因为偷懒复制了其他项目的配置信息,结果换了库都不知道)

知识点01:在配置过滤器时为什么有时候用的是@Configuration有的时候是用@WebFilter

:首先我们弄明白这个问题首先就应该先了解过滤器和拦截器的区别与练习

区别1,过滤器是通过dofile方法,拦截器是通过Handlerinterceptor方法

区别2,Filter是属于JavaWeb的Servlet规范定义的,需要依赖Tomcat容器,而拦截器是属于SpringMVC的技术

区别3,调用时机不同:Filter-Interceptor-controller-interceptor-Filter

区别4,这里就是你刚刚想知道的问题了,Filter是属于Web的我们必须当前Tomcat的一个Bean,我们需要用WebFilter注解,然后Interceptor是Spring的技术,我们可以用Configuration来标记。

知识点02:HttpServletRequest和ServletRequest有何区别

One:首先我们依据名字我们就可以发现前者是后者的子类,即前者有后者没有的方法

Two:看名字我们也发现了多了一个Http,那当然是多了一些和Http协议相关的方法

         getHeader()

        getMethod()

        getSession()

这样我们就是知道了,我们可以通过这个获得Sesshion

1,session.setAttribute(String name,String value)我们可以通过Session设置数据

2,session.setAttribute(String name,String value)我们当然也可以取出来

3,session.removeAttribute(String name)当然删除也扫不了

知识点03:我们启动类不是可以自动扫描吗,那为什么我们要想让@WebFilter生效还是需要@ServletComponentScan

:这让我会想起了以前写AOP的时候,我们用了AOP作为切入点匹配成功后,这个原始本来存在的Bean就会被包装成代理,然后原始的这个Bean就不存在了,因此Ioc里面就没有了

:这个其实也是类似的原理,如果不用这个注解来只当扫描的话,我们默认的Bean是扫不到的

知识点04:URL和URI有何区别

URI,通一资源标志符(Uniform Resource Identifier, URI),表示的是web上每一种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个URI进行定位的。

URL是URI的一个子集。它是Uniform Resource Locator的缩写,译为“统一资源定位符”。

两者呢其实很类似,有点想继承的关系,也有的想实现关系。即我们呢URL指定了是什么资源还指定了如何访问,而URI更想只是表达了这个是一个资源,是这个资源的身份,你可以用这个来区分两个资源是否相同

知识点05:public static final AntPathMatcher ANT_PATH_MATCHER = new AntPathMatcher();的效果

:boolean match = ANT_PATH_MATCHER.match(url, requestURI);

:我们刚刚还说了URI可以用了区分不同的资源是否是一个东西,这里我们就是用了这个match方法来实现了比较是否为同一个资源

知识点06:为何配置了放行器Support还是被拦截了

 1,看看你的启动类是否包含了你的放行的配置文件

2,clean一下

3,配置放行时,放行的路径前未加    classpath:   (注意是否写错了

4,重启idea

知识点07:为何无法访问static里面的静态资源

:目前还没找到好的方法,猜测是Springboot自动配置放行的逻辑冲突了
:解决办法就是去Support里面将Static也放行

知识点08:IService<>有何用

:你应该还记得baseMapper<T>吧,其实就是你可以省略写你的接口的方法了(和baseMapper一样,你可以不用写sql语句一样,这个不用写接口方法了)

知识点09:ServiceImpl<EmployeeMapper, Employee>

:这个就是不用写实现方法了。由于这里要自动装配mapper,因此我们继承这个类我们甚至可以写实现类的方法了

知识点10:implements Serializable

:这个是对象可被序列化的接口,只有实现了这个接口才能够可被序列化

知识点11:注解Data

:这是结合lombok包用的注解,就可以不用写get,setter,tostring,hash,构造等方法了,这样实体类的代码就简介多了

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值