您的位置:首页 > 编程语言 > Java开发

[置顶] 面试时必须理解的spring要点

2017-10-22 10:44 253 查看
面试时必须理解的spring要点

1、创建spring容器时:调用构造器,对bean进行初始化(即创建对象),同时调用set方法对属性进行赋值。

2、IOC(控制反转):原来创建对象时采取new的方式,是一种主动获取的方式,现在初始化容器时,对象自动初始化,

                    需要什么用什么(即被动接收的过程)

3、DI(依赖注入):依赖容器将资源注入  (属性注入、构造器注入)

4、id:Bean的名称   id需唯一,可以有多个名(用空格、逗号隔开)

5、IOC容器的实现方式:(1)BeanFactory:IOC容器的基本实现     BeanFactory beanFactory=new ClassPathXmlApplicationContext("applicationContext.xml");

                      (2)ApplicationContext:提供了更多的高级特性,是BeanFactory的子接口(常用) ApplicationContext ac=ClassPathXmlApplicationContext("applicationContext.xml");

6、抽象bean:不能实例化、只能被继承。若某一个bean的class属性没有指定,则该bean必须是一个抽象的bean。继承指的是配置上的继承。

7、bean的作用域:默认是单例的(scope="singleton") 整个容器生命周期只创建一个bean    初始化容器时会对bean初始化,即会创建对象           

                 scope="prototype"  (原型的) 非单例,每次向容器获取bean都会产生一个新的bean对象。初始化容器时不会对bean初始化,即不会创建对象

                 scope="request"

                 scope="session"

8、SpEL:spring表达式 :#{}

9、IOC容器中bean的生命周期:(1)通过构造器或工厂方法创建bean实例

                            (2)为bean的属性设置值和对其他bean的引用

                                    ---后置处理器before

                            (3)调用bean的初始化方法     (init-method)

                                    ---后置处理器After

                            (4)使用bean

                            (5)当容器关闭时,调用bean的销毁方法  (destroy-method)

10、AOP:用于日志、验证 

    切面:横切关注点,即一个一个的具体需求(验证,前置日志,后置日志)  抽取横切关注点,即一个一个的验                      证,如参数验证,xx验证,把这些验证(即横切关注点)抽取出来,即构成切面

    通知:切面必须完成的工作(切面里每一个方法)

    目标:被通知的对象(业务逻辑代码)

    代理:向目标对象应用通知之后创建的对象

    连接点:类中的方法

    切点:选取几个连接点

类比:连接点相当于数据库中的记录,切点相当于查询条件。

(切入点,你的一个类里,有15个方法,那就有几十个连接点了对把,但是你并不想在所有方法附近都使用通知(使用叫织入),你只想让其中的几个,在调用这几个方法之前,之后或者抛出异常时干点什么,那么就用切点来定义这几个方法,让切点来筛选连接点,选中那几个你想要的方法。 )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: