首页 > 软件开发 > JAVA >

java面试经典

来源:互联网 2023-03-16 19:31:35 325

spring里面的ioc和di是什么,这个是重点zgx办公区 - 实用经验教程分享!

方法/步骤

  • 1

    spring框架的核心是IOC(控制反转)和AOP(面向切面),DI(依赖注入)IOC是个更宽泛的概念,DI是更具体的。IOC是一种思想,而DI是实现IOC的主要技术途径ioc是目的,di是手段。ioc是指让生成类的方式由传统方式(new)反过来,既程序员不调用new,需要类的时候由框架注入(di),zgx办公区 - 实用经验教程分享!

    java面试经典zgx办公区 - 实用经验教程分享!

  • 2

    控制反转说白了就是把控制权让出来,交给第三方框架(Spring);由第三方框架帮我们管理bean对象的生命周期以及维护各个bean对象之间的关系!DI的基本原理就是将一些具有工作关系的对象,把一个对象作为属性值注入给另一个对象!aop面向切面:系统的事务日志以及异常的一些处理,Spring支持用户自定义切面zgx办公区 - 实用经验教程分享!

    java面试经典zgx办公区 - 实用经验教程分享!

  • 2相关内容非法爬取自百度经验
  • 3

    DI的实现方式有两种:1:构造器注入把容器中的对象作为构造器参数传入。zgx办公区 - 实用经验教程分享!

    2:set方法参数注入(Setter注入)在容器中通过set注入把一个对象(egg)作为属性值注入给该对象(EggRice)的set方法的参数,然后将参数值传递给该对象(EggRice)的属性。注:set方法注入name属性值与set方法的签名有关!zgx办公区 - 实用经验教程分享!

    java面试经典zgx办公区 - 实用经验教程分享!

  • 方法/步骤2

  • 1

    3:自动装配:一定要有set方法!例:autowire="byName"其目的在于把一个对象作为属性值注入时;只要指定自动匹配,可以减少xml文件中的注入配置的代码。byName:按名称匹配查找,在容器中查找是否有于set方法签名一致的bean ID,如果有则把该对象作为属性值注入。byType:按类型匹配查找,容器在创建对象时,会根据该对象的set方法签名参数去容器中查找是否有与对参数类型一致的对象,如果有,则把该对象作为属性值注入。zgx办公区 - 实用经验教程分享!

    java面试经典zgx办公区 - 实用经验教程分享!

  • 2

    默认使用byName;因为如果容器中需要被注入的对象超过一个,那么容器不知道把哪个对象作为属性值注入,则会报错!-----------------------------------------------------------------------------------------------几种常见的注解解:@Component:通用注解(Spring的)===》DBUtil类@Named:通用注解(Sun的)@Repository:数据持久层的注解===》DaoImpl类@Service:业务层的注解===》Servlet类zgx办公区 - 实用经验教程分享!

    java面试经典zgx办公区 - 实用经验教程分享!

  • 3

    @Controller:控制层的注解===》ActiveServlet类@Autowired:自动包装@Qualifier:识别@Resource:默认匹配规则类似于我们的自动装配,首先按byName匹配查找,如果找不到则会按byType匹配查找。但是如果@Resource(name="XXX"),此时只会按byName匹配查找,因为在这儿我们指定了按id名称匹配查找。zgx办公区 - 实用经验教程分享!

    zgx办公区 - 实用经验教程分享!

    zgx办公区 - 实用经验教程分享!

    zgx办公区 - 实用经验教程分享!

    zgx办公区 - 实用经验教程分享!

    zgx办公区 - 实用经验教程分享!

    java面试经典zgx办公区 - 实用经验教程分享!

  • 4

    Collections类和Arrays类的使用。(重点)A:Collections排序二分查找发转B:Arrays把数组变成字符串输出排序二分查找zgx办公区 - 实用经验教程分享!

    java面试经典zgx办公区 - 实用经验教程分享!

  • 5

    Runtime:(1)每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。 可以通过 getRuntime 方法获取当前运行时。 应用程序不能创建自己的 Runtime 类实例。(2)该类没有构造函数,也就是它不能直接创建对象,但是它里里面的方法又不是静态的 ,故它一定有一个方法返回本类对象(3)故该类是单例设计模式,保证在内存中只有一个对象(4)方法摘要:Process exec(String command) 在单独的进程中执行指定的字符串命令void gc() 运行垃圾回收器。static Runtime getRuntime() 返回与当前 Java 应用程序相关的运行时对象void exit(int status) 通过启动虚拟机的关闭序列,终止当前正在运行的 Java 虚拟机zgx办公区 - 实用经验教程分享!

    java面试经典zgx办公区 - 实用经验教程分享!

  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!zgx办公区 - 实用经验教程分享!


    标签: JAVA

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码