java 知乎面试题_JAVA高级面试题(一)

常见高级技术面试题

一、 Spring

1. Spring框架优点?

答:方便解耦,简化开发,方便程序的测试,声明事物的支持,AOP编程的支持,方便集成各种优秀框架,降低Java EE API的使用难度,独立于各种应用服务器,

基于Spring框架的应用,可以真正实现Write Once,Run Anywhere的承,Spring的DI机制降低了业务对象替换的复杂性,提高了组件之间的解耦,

Spring的AOP支持允许将一些通用任务如安全、事务、日志等进行集中式管理,从而提供了更好的复用,Spring的ORM和DAO提供了与第三方持久层框架的良好整合,

并简化了底层的数据库访问,Spring并不强制应用完全依赖于Spring,开发者可自由选用Spring框架的部分或全部。

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

答:IOC控制反转,DI依赖注入。

IOC是一种编程思想,是一种概念,它可以控制不同的类对象去工作。

依赖注入就是打补丁一样,在你在做这个项目的时候需要用到别的技术,就可以用依赖注入来解决这个问题。

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

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

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

答:单例管理的对象:当scope=”singleton”,即默认情况下会在启动容器时(实例化容器时)实例化,我们也可以指定Bean节点的lazy-init=true 延迟初始化bean,

这时只有在第一次获取bean时才会初始化bean。当然也可以设置全局,非单列管理的对象:scope=prototype ,容器也会延时初始化bean,在第一次请求改bean时才初始化,

因为是非单列的,Spring一旦把对象交给你就不会在帮你管理这个对象了。

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

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

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

构造方法注入

6. @Autowired和@Resource之间的区别

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

@Autowired()@Qualifier("baseDao")

@R

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值