学习day1 对spring 的面试高频次问题 2020-05-06

使用spring 框架能给我带来那些好处:

1,简化开发
2,提供了内置的解决方案(BOP),IOC,AOP
3,声明式事务管理 TransationManager
4,提供了很多的工具类,围绕着spring生态,例如 jdbcTemplate

BeanFactory 和 ApplicationContext 有什么区别

1,ApplicationContext 是BeanFactory 的实现类
2,BeanFactory 是代码的顶层设计,ApplicationContext就是 IOC 是面向User的接口(interface)
3,功能会非常丰富,API 是最全的,一般都会认为ApplicationContext就是 IOC
4,IOC的功能是在 DefaultListableBeanFactory类中完成

spring Bean 的生命周期

阐述生命周期,最重要的一点就是 从创建 ->调用 -> 销毁
singleton 从spring容器的启动到spring容器的销毁,如果是延时加载,调用前创建对象
prototype 在调用前创建,调用后销毁  作用域决定了生命周期的长短

spring Bean 各个作用域之间的区别

1,singleton 作用域全局,在任何地方都可以通过IOC容器拿到它
2,prototype 全局的
3,request 在一次请求发起和结束之间
4,session 一个session创建和session 失效之间,默认是 30min,关闭浏览器一般不会立马失效。有具体的检测机制。

spring Bean 是线程安全的吗?

1,首先理解的是,线程是安全的。
spring Bean 是怎么来的?是我们手写出来的Bean ->问题最终的落脚点是 -> 自己手写的Bean是线程安全的吗?
原理 spring 的Bean就是在IOC容器中,IOC的中Bean是我们自己写配置文件加载进去的
所以导致spring 中的Bean 线程安全和 spring 无关,和自己写的代码有关

Spring 用到了那些设计模式?

工厂模式 (BeanFactory ),单例模式(容器是单例),原型模式,代理模式

Spring ,spring Boot ,spring cloud 区别

1,spring 已经有了完善的整体的框架生态,可以完成我们日常开发的所有的功能。
2,SpringBoot简化开发,spring减还不够,配置文件复杂。配置的管理和维护,配置修改。内置了默认的配置,我们需要就配置,不需要覆盖的就实现零配置
3,内置Tomcat ,全面的servlet化,能够自运行。部署简单。一个jar包打天下
4,spring cloud,面向分布式的生态框架 ->衍生出一整套的微服务的治理框架
	注册中心,服务发现,监控(链路追踪),配置中心,负载,熔断
	一站式分布式解决方案
5,spring cloud 依赖 spring boot 依赖 spring

BeanFactory 和 FactoryBean的区别设计

BeanFactory 就是IOC的容器的顶层设计
FactroyBean 用来构建Bean的包装类的

项目中如何应用AOP

声明式事物管理,日志监听,权限管理,安全监听

一个方法内可以使用 for循环重复操作数据库,用一个链接还是多个链接

1,开发者禁忌在一个for循环内去查询数据库 ->
	因为会多次链接数据库,导致数据库连接池数量不可控,导致循环次数未知。
	
解决:1,采用分页的方式查询
	  2,采用缓存
	  3,联合查询(本来是要用多次查询的数据,采用一次性数据或者是少次数查询出来)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值