zoukankan      html  css  js  c++  java
  • Spring相关知识点

    1.注解@qualifier 

    只能注在属性上

    作用:当一个接口有多个实现类时,用Autowired装配时,因为Autowired是按类型装配的(Resource按名称),所以多个实现类会出现冲突,这是就得配合qualifier 使用,qualifier里写的是两个实现类注入时的名称。

    2.注解Scope

    Singleton:单例
    proptotype :每次new新对象

    3.获取配置文件

    ApplicationContext appCt = new ClassPathXmlApplicationContext("app.spring.xml"); 

     4.IOC控制反转和DI依赖注入

    控制反转就是把之前在A对象要调用C对象只中的方法,需要自己主动去实例化一个C对象,现在是IOC容器获取一个已经注入到ioc的对象,然后把它装配到A对象中。

    》》》依赖注入和控制反转是对同一件事情的不同描述,从某个方面讲,就是它们描述的角度不同。

    依赖注入是从应用程序的角度在描述,可以把依赖注入描述完整点:应用程序依赖容器创建并注入它所需要的外部资源;

    而控制反转是从容器的角度在描述,描述完整点:容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源。

    5.依赖注入的本质就是装配,装配是依赖注入的具体行为。这就是两者的关系。

    6.3种注入类型:setter、构造器、接口注入。或者用注解Autowired和Resource

    7.aop的作用和应用:aop就是在运行期的时候,将指定的代码(切面)切入到指定的方法或者其他指定的位置(目标对象),比如像事务管理,因为几乎每次数据库操作之前都要进行事务开启,操作完数据库都要进行事务提交,事务回滚,事务关闭等等操作,像这种要频繁写的代码就可以用aop来做,来减少代码的编写量。其他像权限校验、日志写入都是一样的道理。其实就是提高代码的可重用,一旦涉及到该功能的需求发生变化,只要修改该代码就行。

    8.aop的原理:jdk的动态代理和cglib代理。

    Spring AOP采用动态代理过程:

    1).将切面使用动态代理的方式动态织入到目标对象,形成一个代理对象。
    2).目标对象如果没有实现代理接口,那么spring会采用CGLib来生成代理对象,该代理对象是目标对象的子类。
    3).目标对象如果是final类,也没有实现接口,就不能运用AOP。
    9.required:实体的属性值必须设置,不然get的时候会报错。
  • 相关阅读:
    数据类型及转换
    进制转换
    精通libGDX-RPG开发实战
    github上最好的开源MMORPG
    同步mysql数据到ElasticSearch的最佳实践
    在libGDX中使用Spine骨骼动画
    window下Kafka最佳实践
    linux 系统的负载与CPU、内存、硬盘、用户数监控脚本[marked]
    源码安装cmake(或者叫升级cmake)
    Rust-HayStack
  • 原文地址:https://www.cnblogs.com/3chi/p/6912263.html
Copyright © 2011-2022 走看看