Spring,SpringMVC,Springboot的注解,Mybatis,集合使用总结
Spring,SpringMVC,Springboot的注解,Mybatis,集合使用总结
1.Spring 的常见注解有哪些?
@Component、@Controller、@Service、@Repository 使用在类上用于实例化Bean
@Autowired 使用在字段上用于根据类型依赖注入
@Qualifier 结合@Autowired一起使用用于根据名称进行依赖注入
@Scope 标注Bean的作用范围
@Configuration 指定当前类是一个 Spring 配置类,当创建容器时会从该类上加载注解
@ComponentScan 用于指定 Spring 在初始化容器时要扫描的包
@Bean 使用在方法上,标注将该方法的返回值存储到Spring容器中
@Import 使用@Import导入的类会被Spring加载到IOC容器中
@Aspect、@Before、@After、@Around、@Pointcut 用于切面编程(AOP)
2.SpringMVC常见的注解有哪些?
注解 说明
@RequestMapping 用于映射请求路径,可以定义在类上和方法上。用于类上,则表示类中的所有的方法都是以该地址作为父路径
@RequestBody 注解实现接收http请求的json数据,将json转换为java对象
@RequestParam 指定请求参数的名称
@PathViriable 从请求路径下中获取请求参数(/user/{id}),传递给方法的形式参数
@ResponseBody 注解实现将controller方法返回对象转化为json对象响应给客户端
@RequestHeader 获取指定的请求头数据
@RestController @Controller + @ResponseBody
3.Springboot常见注解有哪些?
注解 说明
@SpringBootConfiguration 组合了- @Configuration注解,实现配置文件的功能
@EnableAutoConfiguration 打开自动配置的功能,也可以关闭某个自动配置的选
@ComponentScan Spring组件扫描
4.MyBatis执行流程
读取MyBatis配置文件:mybatis-config.xml加载运行环境和映射文件
构造会话工厂SqlSessionFactory
会话工厂创建SqlSession对象(包含了执行SQL语句的所有方法)
操作数据库的接口,Executor执行器,同时负责查询缓存的维护
Executor接口的执行方法中有一个MappedStatement类型的参数,封装了映射信息
输入参数映射
输出结果映射
5.Mybatis支持延迟记载,但默认没有开启,什么叫做延迟加载?
Mybatis的一级、二级缓存用过吗?
本地缓存,基于PerpetualCache,本质是一个HashMap
一级缓存:作用域是session级别
二级缓存:作用域是namespace和mapper的作用域,不依赖于session
6.Java中集合
1.数组,ArrayList
2.链表,LinkedList
3.二叉树,红黑树,TreeMap,HashTable,HashMap,ConcurrentHashMap
算法的好坏,决定存取的速度
时间复杂度:来评估代码的执行耗时的
空间复杂度
只要代码的执行时间不随着n的增大而增大,这样的代码复杂度都是O(1)