spring的一些简单概念

现在学习一下spring的具体概念:
1.IOC inverse of control 控制反转 是一种可以帮助我们解耦各业务对象间依赖关系的对象绑定方式。避免冗余的factory和singleton
2.依赖注入的方式有三种:接口注入,构造方法注入,setter方法注入。
3.当前流行的IOC Service Provider产品使用的注册对象管理信息的方式主要有以下几种:
直接编码方式:通过为相应的类指定对应的具体实例 spring
配置文件方式:spring
元数据方式:代表是google guice。元数据信息标注,即注解

4.@Autowired:告知spring容器需要为当前对象注入哪些依赖对象
@Component:配合spring2.5以后的classpath-scaning功能使用。
<context:component-scan base-package="org.mybatis.jpetstore.service" />
表示在指定包下面扫描标注有@Component的类,如果找到,则将它们添加到容器进行管理,并根据它们所标注的@Autowired为这些类注入符合条件的依赖对象。

5.构造方法注入的XML之道:<constructor-arg> 参考书本spring揭秘 P37页
setter方法注入之道:<property>

6. 工厂方法与FactoryBean
如果我们是利用第三方库的对象,为了使用依赖注入,要使用工厂模式;
如:<bean id="bar" class="...StaticBarInterfaceFactory" factory-method="getInstance"/>
这样,这个bean返回的对象不是StaticBarInterfaceFactory,而是这个工厂利用getInstance方法所创建出来的类。这个可以参见书本的P56页。

再看FactoryBean,就拿jpetstore的配置文件来说:
其中有:   
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:mybatis-config.xml" />
</bean>
其中这个bean所返回的不是SqlSessionFactoryBean类,而是这个类所getObject所返回的类Class<? extends SqlSessionFactory>。


7.BeanFactoryPsotProcessor容器扩展机制,该机制允许我们在容器实例化相应对象之前,对注册到容器的BeanDefinition所保存的信息做相应的修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值