文档章节

java面试(spring)

pantyyy
 pantyyy
发布于 2017/07/13 22:47
字数 956
阅读 50
收藏 1

1.什么是IOC

    IOC:inversion of control    反转控制。

    通俗的说:以前创建一个对象需要自己主动new一个对象,通过IOC,对象的创建交给Spring框架创建,开发人员直接使用已经创建好的对象。

2.什么是DI

    DI:Dependency Injury    依赖注入。

    通过IOC创建对象的时候,可以注入字符串甚至其他对象。比如:DAO就会注入session factory。通常IOC和DI是紧密结合,一起使用的。

    在Java中依赖注入有以下三种实现方式:

  1. 构造器注入
  2. Setter方法注入
  3. 接口注入

3.什么是AOP

    AOP:面向切面编程。

    把功能划分为核心业务功能和其他的周边辅助功能,比如:日志,性能统计,事务等。其他的周边辅助功能可以看作切面功能。核心功能和切面功能分别独立开发,通过面向切面编程,可以把核心业务功能和切面功能根据需求结合在一起。

4.spring的优点

    1.降低了组件之间的耦合性,实现了软件各层之间的解耦。

    2.提供众多服务,如:事务管理,消息服务等

    3.容器提供单例模式支持

    4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能

    5.spring对主流的应用框架提供了集成支持

    6.spring的高度开发性,并不强制应用完全依赖于spring,开发者可以自由选择spring的部分或全部

5.简单描述一下IOC的理解

    1.一个类需要用到某个接口的方法,我们需要将类A和接口B的实现类关联起来,最简单的方法就是类A中创建一个接口B的实例,但是这样做的依赖太大了。

    2.而IOC的方法是只在类A中定义好用于关联接口B的实现的方法,将类A,接口B和接口B的实现放入IOC的容器中,通过一定的配置由容器来实现类A与接口B的实现类C的关联。

6.Bean元素解释

    Bean元素:使用该元素描述需要spring容器管理的对象

    Class属性:被管理对象的完整类名

    name属性:给被管理的对象起个名字,获得对象时根据该名称获得对象,可以重复,可以使用特殊字符

    id属性:与name属性一模一样。名称不可重复,不能使用特殊字符

    scope属性:singleton(默认值)    单例对象,被标识为单例的对象在spring容器中只会存在一个

                        prototype(多利原型)    被标识为多例对象,每次获得才会创建,每次创建都是新的对象

7.spring的aop编程

        1.动态代理(优先)

            被代理对象必须实现接口才能产生代理对象,如果没有接口将不能使用动态代理。

        动态代理实现:

             接口类:

               

            实现类:

                

            1.书写一个类实现InvocationHandler接口,实现invoke()方法

            2.通过proxy对象获得需要的代理对象

   

            3.测试

        2.cglib代理(没有接口)

            第三方代理技术,cglib代理可以对任何类生成代理,代理的原理是对目标对象进行继承代理,如果目标对象被final修饰,则无法被cglib代理

8.spirng如何管理事务

    粗一点来讲,spring的事务管理分为编程式与声明式,所有事务管理都抽象为事务操作管理类(PlatformTransctionManager),事务状态(TransactionStatus)和定义了事务的传播行为和隔离级别的类(TransactionDefinition)这三个接口;

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

© 著作权归作者所有

pantyyy
粉丝 4
博文 21
码字总数 13293
作品 0
私信 提问
第7课:Java Spring Boot 2.0安全机制、漏洞与MVC身份验证实战

《阿里巴巴Java Spring Boot 2.0开发实战课程》07课 本期分享专家:徐雷—阿里巴巴特邀Java讲师,MongoDB讲师 本期分享主题:Java Spring Boot2.0实战MyBatis与优化 (Java面试题) Java Spri...

徐雷frank
2018/12/12
0
0
面试阿里等互联网公司java岗位时,关于Spring到底需要掌握什么?

之前分享过一些BAT面试必会的文章,一些读者看了,问过我,Spring 这篇需要掌握一些什么?相信这个问题也是很多读者心中的疑问,今天就来聊一下关于 Spring,我从面试中收获的一些经验。 一....

别打我会飞
04/17
131
0
Java面试中常问的Spring方面问题(含答案)

Spring Framework 现在几乎已成为 Java Web 开发的标配框架。那么,作为 Java 程序员,你对 Spring 的主要技术点又掌握了多少呢?不妨用本文的问题来检测一下。 1、一般问题 1.1. 不同版本的...

Java猫
01/15
0
0
BAT最新Java面试题汇总:并发编程+JVM+Spring+分布式+缓存等!

前言 作为一个开发人员,你是否面上了自己理想的公司,薪资达到心中理想的高度? 面试:如果不准备充分的面试,完全是浪费时间,更是对自己的不负责。 今天给大家分享下我整理的Java架构面试...

别打我会飞
06/03
190
0
Java开发:错过金三银四 你还要错过金九银十吗?面试大纲总结

前言: 一年之计在于春 金三银四已过,2018也已经年过一半多,作为一个开发人员,你是否面上了自己理想的公司,薪资达到心中理想的高度? 面试:如果不准备充分的面试,完全是浪费时间,更是...

Java大蜗牛
2018/08/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
今天
676
10
MongoDB系列-- SpringBoot 中对 MongoDB 的 基本操作

SpringBoot 中对 MongoDB 的 基本操作 Database 库的创建 首先 在MongoDB 操作客户端 Robo 3T 中 创建数据库: 增加用户User: 创建 Collections 集合(类似mysql 中的 表): 后面我们大部分都...

TcWong
今天
39
0
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
25
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
72
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
69
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部