1、
spring循环依赖
Spring先是用构造实例化Bean对象,此时Spring会将这个实例化结束的对象放到一个Map中,并且Spring提供了获取这个未设置属性的实例化对象引用的方法
Spring通过将实例化后的对象提前暴露给Spring容器中的singletonFactories,解决了循环依赖的问题
2、进程与线程的区别
1. 线程是程序执行的最小单位,而进程是操作系统分配资源的最小单位;
2. 一个进程由一个或多个线程组成,线程是一个进程中代码的不同执行路线
3. 进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段,数据集,堆等)及一些进程级的资源(如打开文件和信
号等),某进程内的线程在其他进程不可见;
4. 调度和切换:线程上下文切换比进程上下文切换要快得多
3、Mybatis_设置主键自增后返回主键值
MySQL
<!--
useGeneratedKeys="true"
keyProperty 主键保存的属性名字
新增后主键 保存在了传入的 User对象的userId属性中了
-->
<insert id="insert" parameterType="user" useGeneratedKeys="true" keyProperty="userId">
insert into user (username,password,sex,createtime) values
(#{username},#{password},#{sex},#{createtime})
</insert>