Spring框架主要功能
a.提供了对象创建功能
b.Spring提供了对象创建功能
c.Spring提供了IOC和AOP机制,可以降低组件对象之间的耦合度
Spring框架基本应用
1)引入spring-ioc开发包
2)在src下添加applContext.xml配置文件
3)将Bean组件在配置文件中定义<bean id ="标识符" class=“组件类型”/>
4)实例化spring容器对象调用getBean(“标识符”),获取Bean对象使用。
scope=“singleton”默认单例模式(每次获得的bean是同一个)
scope=“prototype”非单例
<!-- 声明定义Bean组件 -->
<bean id="costDao" class="org.tarena.dao.JdbcCostDao">
</bean>
package org.tarena.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.tarena.dao.CostDao; import org.tarena.dao.JdbcCostDao; import org.testng.annotations.Test; public class TestCostDao { @Test public void test1(){ CostDao a = new JdbcCostDao(); a.delete(); } @Test public void test2(){ //CostDao a = new JdbcCostDao(); //实例化Spring框架容器对象 String conf = "applicationContext-base.xml"; ApplicationContext ac = new ClassPathXmlApplicationContext(conf); //从容器中获取id=costDao的bean对象 CostDao a = (CostDao)ac.getBean("costDao"); a.delete(); } }
test1跟test2运行结果一样,test2使用了spring
3.Spring对Bean组件的管理
a.对象的创建模式
b.对象创建时机
scope=singleton,Bean对象是和Spring容器一起实例化。通过lazy-init=true属性可以将对象创建延迟到getBean调用时实例化
c.指定对象创建和销毁方法