文章目录
- 1. 皮皮虾的不用配包扫描
- 2. SpringBoot开箱即用原理(面试问题)
- 3. SpringBoot开箱即用原理
- 4.SpringMVC 调用流程
- 5. spring注解和javaee注解
- 6. git提交
- 7. spring依赖注入出问题
- 8. 表自增列
- 9. scope
- 10. java中子类不能继承父类的私有属性
- 11. 状态码及现象
- 12. 面试题:常见运行时异常,常见检查异常(编译异常)
- 13. spring框架中用到的9种设计模式
- 14. mysql索引失效的几种情况
- 15. jdk和cglib动态代理
- 16. 抓包工具wireshark,fiddler,charles
- 17. elementui安装与使用
- 18. lock和synchronized的区别,线程池(核心参数),线程池创建方式有几种
- 19.idea及idea的maven项目的各种异常:
- 20. 负载均衡
- 21. Mybatis中9大动态sql标签
- 22. 配置问题
- 23. 测试问题
1. 皮皮虾的不用配包扫描
正常的spring调用流程是在spring.xml文件中配置好bean然后用这个bean.
如果bean多了配置文件肯定会很长,所以spring中又提供了包扫描的方式来批量配置bean,在需要完成ioc的类上注解@Component,然后在spring.xml文件中配置包扫描,然后用包扫描操作定义的bean.
再后来大家更懒了,干脆直接弄了个@SpringBootApplication注解(应该是他里面的某个注解的作用吧),在springBoot项目启动的时候自动扫描启动类同包和子包,完成bean的配置,然后我们用这个bean就好了.
2. SpringBoot开箱即用原理(面试问题)
- List item
3. SpringBoot开箱即用原理
- List item
4.SpringMVC 调用流程
- List item
5. spring注解和javaee注解
- List item
6. git提交
提交git commit -m 注释
覆盖提交,有新的添加时git commit --amend 注释
修改注释,git commit --amend,进入vim,修改后保存退出
7. spring依赖注入出问题
8. 表自增列
重置SQLSERVER表的自增列,让自增列重新计数
SQL的自增列挺好用,只是开发过程中一旦删除数据,标识列就不连续了 写起来 也很郁闷,所以查阅了一下标识列重置的方法 发现可以分为三种:
— 删除原表数据,并重置自增列
truncate table tablename --truncate方式也可以重置自增字段
–重置表的自增字段,保留数据
DBCC CHECKIDENT (tablename,reseed,0)
– 设置允许显式插入自增列
SET IDENTITY_INSERT tablename ON
– 当然插入完毕记得要设置不允许显式插入自增列
SET IDENTITY_INSERT tablename Off
9. scope
- vue中的作用域插槽的slot-scope,用来传入父组件数据,vue中的slot,译为插槽,作用就是在就是在子组件中挖个坑,填入什么由父组件决定,作用域插槽内,父组件可以拿到子组件的数据.
- spring的@Scope注解
@Scope使用 - maven配置文件pom.xml中的scope标签
scope的使用
10. java中子类不能继承父类的私有属性
Java官方文档的解释:子类不能继承父类的私有属性,但是如果子类中公有的方法影响到了父类私有属性,那么私有属性是能够被子类使用的。
在内存中来看却好像是继承了的,遵从概念吧.
11. 状态码及现象
常见状态码
400前端请求错误
500后端错误
后端接受数据设置为基本类型而前端没有传值时报500(前端请求正确,可以不传值,后端处理错误,参数没值),这也是后端接收数据用引用类型的原因.当然如果是前端传了错误的类型,例如字符串,就报的400了.
12. 面试题:常见运行时异常,常见检查异常(编译异常)
java中异常机制:
异常:程序在编译或运行过程中出现的错误
Throwable:Java中使用Throwable表示所有的异常
java中异常分为两类
1.Error:错误 一般是JVM或者是操作系统的问题,一旦发生,无法恢复
常见的错误:
OutOfMemoryError:内存溢出或没有可用的内存提供给垃圾回收器时,抛出该错误.
StackOverflowError:当应用程序递归太深而发生堆栈溢出时,抛出该错误.
2.Exception:异常主要是在程序运行期间发生的一些不正常事件终止了程序的运行,可以通过JAVA异常处理机制捕获异常并处理,使得程序正常运行下去.
Exception又分为CheckedException受检异常和RuntimeException运行时异常.
- 常见受检异常(编译时异常):
1.IOException 输入输出异常
2.FileNotFoundException 文件找不到的异常
3.ClassNotFoundException 类找不到的异常
4.DataFormatException 数据格式化异常
5.NoSuchFieldException 没有匹配的属性异常
6.NoSuchMethodException 没有匹配的方法异常
7.SQLException 数据库操作异常
8.TimeoutException 执行超时异常 - 常见运行时异常:
1.ArrayIndexOutofBoundsException 数组下标越界异常
2.ClassCastException 类型转换异常
3.NullPointerException 空指针异常
4.IllegalAccessException 非法的参数异常(没有访问权限异常,譬如暴力反射是没有设置setAccessible(true))
5.InputMismatchException 输入不匹配异常(譬如要求输入int类型输入了字符串)
13. spring框架中用到的9种设计模式
简单工厂模式,工厂模式,单例模式,适配器模式,包装器模式,代理模式,模板模式,策略模式,观察者模式
spring框架用到的设计模式
14. mysql索引失效的几种情况
查看执行计划语句:explain
15. jdk和cglib动态代理
16. 抓包工具wireshark,fiddler,charles
- List item
17. elementui安装与使用
- List item
18. lock和synchronized的区别,线程池(核心参数),线程池创建方式有几种
- List item
19.idea及idea的maven项目的各种异常:
- root级父模块重命名后maven消失,可以重新add maven回来
- 子级模块重命名后会产生很多问题:
2.1 父级模块的<modules>中的<moudule>不会自动修改,需要手动修改
2.2 maven项目中的<artifactId>还会是原来的,应该对运行没有影响但是看着难受,更改方式是去这个子模块的pom文件中修改 - 子级模块删除后父级模块的<modules>中的<moudule>不会自动删除,需要手动删除.
并且删除后这个路径项目会被添加忽略,再次创建这个路径项目时要记得去取消. - 父项目的<modules>中的<moudule>实际找的是文件名
idea按模块名管理,父项目按文件名管理,maven按aftifactId管理 - idea模块改名后原来的名字也不能再取了?可以,但是重命名模块后<artifactId>没改,要去改.
- 关于idea中创建项目的天坑,创建时上面的是项目名,下面的是文件名,而不是在下面位置创建一个上面名字的项目.
- open页面显示的是项目名,项目名相同的时候有时会带上路径有时不会,不知道为啥.
20. 负载均衡
调用顺序
RestTemplate
LoadBalancerInterceptor
TibbonLoadBalancerClient
IRule
SpringCloud Ribbon 自定义负载均衡算法
自定义负载均衡算法
21. Mybatis中9大动态sql标签
if,foreach,where,set,sql,include,trim,bind,choose
9
22. 配置问题
23. 测试问题
-Deditable.java.test.console=true