高级技术经理面试题_常见高级技术面试题

59c0dd7e3b86f1f87ab10f353ca25be0.png

【70】

Spring

⦁ Spring框架优点?

答:方便解耦,简化开发,方便程序的测试,声明事物的支持,AOP编程的支持,方便集成各种优秀框架,降低Java EE API的使用难度,独立于各种应用服务器,基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承,Spring的DI机制降低了业务对象替换的复杂性,提高了组件之间的解耦,Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用,Spring的ORM和DAO提供了与第三方持久层框架的良好整合,并简化了底层的数据库访问,Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部

⦁ 谈谈你对spring IOC和DI的理解,它们有什么区别?

IOC 控制反转 是一种思想 即对象的控制权由程序内部创建转化到外部容器

使用SpringIOC容器可以帮我们设计出松耦合,更优良的程序,利于复用也使得程序整个体系结构变得非常灵活

DI依赖注入 组件之间的依赖关系由容器在运行期间决定,即由容器动态的将某个依赖关系注入到组件之中

⦁ spring配置bean实例化有哪些方式?

答:setter 方法,构造函数,静态工厂,实例工厂

⦁ 请介绍一下Spring框架中Bean的生命周期和作用域

答:ingleton(单例模式)、prototype(原型模式)、request(HTTP请求)、session(会话)、global-session(全局会话)

单例管理的对象:当scope=”singleton”,即默认情况下会在启动容器时(实例化容器时)实例化,我们也可以指定Bean节点的lazy-init=true 延迟初始化bean,这时只有在第一次获取bean时才会初始化bean。当然也可以设置全局,

非单列管理的对象:scope=prototype ,容器也会延时初始化bean,在第一次请求改bean时才初始化,因为是非单列的,Spring一旦把对象交给你就不会在帮你管理这个对象了

⦁ Bean注入属性有哪几种方式?

答:@Controller:表明这是一个后台控制类,@Service,表明业务层。

@Autowired写在属性上,Ra....Maping写在方法上,@P...tory,规定范围,@Resource

⦁ @Autowired和@Resource之间的区别

@Autowired注解属于Spring 默认按类型装配,默认情况下必须要求依赖对象必须存在,如果想允许null值 @Autowired(required=false),如果我们想使用名称进行装配

@Autowired()@Qualifier("baseDao")

@Resource 注解属于J2EE,默认按照名称进行装配,当找不到与名称匹配的bean时会按照类型进行装配 我们也可以指定name属性,如果指定了name属性则只会按照名称进行装配

⦁ 什么是AOP,AOP的作用是什么?

答:AOP:面向切面。

面向切面编程,切面的意思是在不动原有的数据时插入新的数据,又或者说有很多数据,插入起来太麻烦,可以用AOP去插入解决。

⦁ Spring里面如何配置数据库驱动?

答:1.配置解码,编码格式。

1. 配置事务管理器。

2. 配置数据库连接

3. 配置映射

4. 配置处理要解析的所有类的包路径。

⦁ 介绍一下Spring的事物管理

⦁ 事务管理是企业级应用程序开发中必不可少的技术,用来确保数据的完整性和一致性

⦁ 事务就是一系列的动作,它们被当作一个单独的工作单元。这些动作要么全部完成,要么全部不起作用

⦁ 通知有哪些类型?

前置通知,后置通知,可以重复的那个通知

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值