• Spring小结


    1. 控制反转IOC和依赖注入

    Spring用IOC容器来替我们管理需要用的类,当在程序中需要用到这些类时通过注解,Spring就会替我们将相应的类实例注入到相应的位置。IOC容器也叫做BeanFactory,而

    那些一个个被Spring管理类称为bean。在程序中,可以通过配置文件和注解两种方式将类交由Spring管理。

    配置xml文件,Spring会加载这些xml文件,然后用xml文件解析器来解析相应的bean的类以及属性,构造方法等。然后用反射的模式生成相应的类放入到BeanFactory中。

    注解模式,通过Spring中的注解,如@Autowired,@Compont,将类声明为spring管理的类,并且将这些类所属的包配置到xml文件中,spring加载xml文件时,扫描这些类,发

    现存在注解的类,通过反射生成类实例放入到BeanFactory中。

    2.代理

    spring第二大作用就是aop,来自于代理模式,代理模式有三个角色分别是通用接口、代理、真实对象。代理、真实对象实现的是同一接口,将真实对象作为代理的一个属性,向客户端公开的是代理,当客户端调用代理的方法时,代理找到真实对象,调用真实对象方法,在调用之前之后提供相关的服务,如事务、安全、日志。其名词分别是代理、真实对象、装备、关切点、连接点。

    3.动态代理

    不用写代理类,虚拟机根据真实对象实现的接口产生一个类,通过类实例化一个动态代理,在实例化动态代理时将真实对象及装备注入到动态代理中,向客户端公开的是动态代理,当客户端调用动态代理方法时,动态代理根据类的反射得到真实对象的Method,调用装备的invoke方法,将动态代理、Method、方法参数传与装备的invoke方法,invoke方法在唤起method方法前或后做一些处理。

    4. 反射

    通过类说明可以得到类的父类、实现的接口、内部类、构造函数、方法、属性并可以根据构造器实例化一个对象,唤起一个方法,取属性值,改属性值。

    如何得到一个类说明?

    Class cls=类.class;

    Class cls=对象.getClass();

    Class.forName(“类路径”);

    如何得到一个方法并唤起它?

    Class cls=类.class;

    Constructor cons=cls.getConstructor(new Class[]{String.class});

    Object obj=cons.newInstance(new Object[]{“aaa”});

    Method method=cls.getMethod(“方法名”,new Class[]{String.class,Integer.class});

    method.invoke(obj,new Object[]{“aa”,new Integer(1)});



  • 相关阅读:
    pip安装requests时报 Requirement already satisfied: requests in d:pythonpyth... 的问题解决
    渗透测试靶场
    Spring Security核心类关系图
    Spring security 5 Authorize Configuration
    固定技术栈
    redis 指定端口 启动
    Spring 获取当前activeProfile
    通过进程编号 查询 监听端口
    lombok 插件安装
    idea 快捷键设置
  • 原文地址:https://www.cnblogs.com/marcotan/p/4256935.html
Copyright © 2020-2023  润新知