IOC、DI、AOP是什么,为什么使用,怎么用
Spring中加载配置文件的两种方法,可以加载多个配置文件吗?单例模式、和工厂模式定义
依赖注入的三种方法
1.IOC
IOC为控制反转,它是一种思想,把类的具体实现交给外部容器,而不是由类直接实例化,通过这个反转,把控制权交给了外部容器,
降低了类与类之间的耦合性,具体在实现在Spring中到处可见,Spring = bean + xml ,xml就是直接控制这个容器的核心,控制了
类的实例化。
DI为依赖注入,它是IOC的具体实现,它负责把类与类之间的依赖关系结合起来,有三种方式实现,接口注入,set注入,构造注入,
配合XML实现的注入应该为set注入
AOP为面向切面编程,在传统的OOP开发过程中,对于一个模块我们分为数据访问层,逻辑层,Action层,jsp视图层,但是在多个模块
中需要加入日志管理、权限管理等非业务性功能的时候,就会使得代码存在大量的冗余,也不方便管理,这个时间就该使用AOP编程,它
是以一种在各个模块中某个切面中加入同样的功能,就好像struts中的拦截器,但是拦截器只能在Action中,AOP可以再任意的功能层中
使用。AOP降低了类之间的的耦合性和冗余,提高了类的重用性和扩展型,使用时在配置文件中加入配置,实现切面类,在类里定义好
需要定义切面,接入点,之前,之后,最后,异常,以及最重要的环绕,
2.Spring 中加载配置文件的两种方法
FileSystemXMLApplicationContext(new String[]{"src/build.xml"});
文件系统来操作对应的配置文件,需要从根目录开始
ClassPathXMLApplicationContext(new String[]{"build.xml"});
类路径来加载对应的配置文件,在加载文件的默认路径下
3.单例模式、工厂模式
单例模式:程序运行时只能有一个对象存在,也就是说只能new一次,实现方法
饿汉模式
懒汉模式
工厂模式:程序中类的实现交给这个工厂来实现,自身类不直接实例化
Spring中加载配置文件的两种方法,可以加载多个配置文件吗?单例模式、和工厂模式定义
依赖注入的三种方法
1.IOC
IOC为控制反转,它是一种思想,把类的具体实现交给外部容器,而不是由类直接实例化,通过这个反转,把控制权交给了外部容器,
降低了类与类之间的耦合性,具体在实现在Spring中到处可见,Spring = bean + xml ,xml就是直接控制这个容器的核心,控制了
类的实例化。
DI为依赖注入,它是IOC的具体实现,它负责把类与类之间的依赖关系结合起来,有三种方式实现,接口注入,set注入,构造注入,
配合XML实现的注入应该为set注入
AOP为面向切面编程,在传统的OOP开发过程中,对于一个模块我们分为数据访问层,逻辑层,Action层,jsp视图层,但是在多个模块
中需要加入日志管理、权限管理等非业务性功能的时候,就会使得代码存在大量的冗余,也不方便管理,这个时间就该使用AOP编程,它
是以一种在各个模块中某个切面中加入同样的功能,就好像struts中的拦截器,但是拦截器只能在Action中,AOP可以再任意的功能层中
使用。AOP降低了类之间的的耦合性和冗余,提高了类的重用性和扩展型,使用时在配置文件中加入配置,实现切面类,在类里定义好
需要定义切面,接入点,之前,之后,最后,异常,以及最重要的环绕,
2.Spring 中加载配置文件的两种方法
FileSystemXMLApplicationContext(new String[]{"src/build.xml"});
文件系统来操作对应的配置文件,需要从根目录开始
ClassPathXMLApplicationContext(new String[]{"build.xml"});
类路径来加载对应的配置文件,在加载文件的默认路径下
3.单例模式、工厂模式
单例模式:程序运行时只能有一个对象存在,也就是说只能new一次,实现方法
饿汉模式
public class SingletonClass {
private static final SingletonClass single = new SingletonClass();
public static SingletonClass getSingleton(){
return single ;
}
}
懒汉模式
public class SingtonleClass{
private static Singleton single = null;
public synchronized static Singleton getInstance(){
if(single==null){
single = new Singleton();
}
return single;
}
}
工厂模式:程序中类的实现交给这个工厂来实现,自身类不直接实例化