多语言展示
当前在线:414今日阅读:155今日分享:35

java面试经典

spring里面的ioc和di是什么,这个是重点
方法/步骤
1

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

2

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

3

DI的实现方式有两种:1:构造器注入 把容器中的对象作为构造器参数传入。2:set方法参数注入(Setter注入) 在容器中通过set注入把一个对象(egg)作为属性值注入给该对象(EggRice)的set方法的参数, 然后将参数值传递给该对象(EggRice)的属性。 注:set方法注入name属性值与set方法的签名有关!

方法/步骤2
1

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

2

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

3

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

4

Collections类和Arrays类的使用。(重点) A:Collections  排序  二分查找  发转 B:Arrays  把数组变成字符串输出  排序  二分查找

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 虚拟机

推荐信息