面试时必须理解的spring要点

来源:互联网 发布:java tcp服务器框架 编辑:程序博客网 时间:2024/05/22 20:33

面试时必须理解的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个方法,那就有几十个连接点了对把,但是你并不想在所有方法附近都使用通知(使用叫织入),你只想让其中的几个,在调用这几个方法之前,之后或者抛出异常时干点什么,那么就用切点来定义这几个方法,让切点来筛选连接点,选中那几个你想要的方法。 )