Spring
IoC控制反转
IoC特点不用new 就可以初始化类;
控制反转的英文名叫 Ioc(Inversion of Control) ,依赖注入英文名叫DI(Dependency Injection)
类之间的关系,不用代码控制,而是由Spring容器(也就是Spring的jar包)来控制。控制权由代码翻转到容器里,这叫控制反转。
表现形式:再初始化对象时,在代码里无须new 而是把类之间的关系写到配置文件里。
DI 依赖注入
在代码运行时,,如果我们要在一个类里面使用(也叫注入)另一个类,那么这种注入就是依赖配置文件的。
表现形式:同样是把类的关系写道配置文件里,在运行时会根据配置文件把类注入到另一个类里。
依赖注入常用知识点说明:在spring里,通常在配置文件文件中描述各类以及各类之间的包含关系,在使用的时候,先加载配置文件,Spring的内核会读取配置文件,随后动态的组装各类。
Spring读取配置文件的方式归纳:
类名:XmlBeanFactory
例子:
Resource resource = new ClassPathResource(“bean.xml”);
BeanFactory factory = new XmlBeanFactory(resource);
类名:ClassPathXmlApplicationContext
例子:
ApplicationContext factory = new ClassPathXmlApplicationContext(“conf/application.xml”);
类名:用文件系统类读取 FileSystemXmlApplicationContext
例子:
ApplicationContext factory = new FileSystemApplicationContext(“classpath:application.xml”);
单例多例,有状态无状态Bean:
我们知道,Spring的容器会在程序运行时,根据配置文件自动创建(或者实例化)具体的Java类(也叫Class,或叫Bean),在配置文件里,可以设置创建文件时是否用单例的方式,如果没有设置,则会自动默认的单利方式来创建。
如果不是单例,则可以用下面语法来修改,它们是等价的。
<bean id=”Jinzekeji” class=”cn.com.codinfun.entity” singleton=”false”>
或者<bean id=”Jinzekeji” class=”cn.com.codinfun.entity” scope=”protrotype”>
AOP面向切面编程