Spring中的核心思想
作者:互联网
IOC(inversion of controll)控制反转&DI(dependency injection)依赖注入。
将对象的创建由原来(new)的方式转移到配置文件中,交给spring工厂来创建对象,spring不仅要创建对象,还要建立类与类之间的关系,因此控制反转的基础上又提出了依赖注入的概念。
AOP(aspect oriented programming)面向切面的编程
Set注入
八种基本类型、日期类型、和数组类型注入
<bean id="empDao" class="com.lkl.empDaoImpl"> <property name="id" value="001"></property> <property name="name" value="xiaoming"></property> <property name="price" value="99.99"></property> <property name="sex" value="true"></property> <!-- 日期类型 --> <property name="birthday" value="1999/9/9"></property> <!-- 数组类型 --> <property name="arr"> <array> <value>1</value> <value>2</value> <value>3</value> </array> </property> </bean>
引用类型、集合类型注入
<!-- 引用类型 --> <property name="e" ref="emp"></property> <!-- list集合类型 --> <property name="list"> <list> <value>xiaojing</value> <value>xiaoli</value> </list> </property> <!-- map集合类型 --> <property name="maps"> <map> <entry key="001" value="hong"></entry> <entry key="002" value="ceng"></entry> <entry key="003" value="huang"></entry> </map> </property> <!-- properties类型 --> <property name="pro"> <props> <prop key="driver"> com.mysql.jdbc.Driver</prop> <prop key="url"> jdbc:mysql://localhost:3306/express</prop> <prop key="username">root</prop> <prop key="password">root</prop> </props> </property>
Bean的创建模式
Singleton:单例(默认),全局唯一,一个工厂只创建一次。
Prototype:非单例,全局不唯一,每当使用时都要重新创建一个新对象。
注:一般在项目开发中service,dao组件单例,struts2的action必须为多例。
Spring bean的生产原理
原理:反射+无参构造方法
Bean的生命周期
何时创建:工厂启动,工厂中所有单例bean随之创建。多例bean每使用一次初始化一次。
何时销毁:工厂关闭,所有单例随之销毁。Spring不会负责多例bean的销毁。
标签:核心思想,多例,Spring,bean,单例,创建,注入 来源: https://www.cnblogs.com/lkldeblog/p/10685897.html