Spring基础学习笔记(八)

目录

 

    4种实例化Bean的方式 

第一种:需要公共无参构造方法,常用

第二种:FactoryBean(一般都不自己写FactoryBean实例,而是使用spring已经写好的)

第三种:集成静态简单工厂(一般不用,以后学习activity要用哦)

第四种:集成实例简单工厂(一般不用)

控制反转IOC小结

依赖注入DI小结


4种实例化Bean的方式

 

第一种:需要公共无参构造方法,常用

自己写的对象:Dao,Service,Action都使用这种方法

 

第二种:FactoryBean(一般都不自己写FactoryBean实例,而是使用spring已经写好的)

添加hibernate需要的jar文件

实例化不能通过默认无参构造方法获取的bean

通过FactoryBean的子类获取SessionFactory 的实例(添加hibernate的jar文件)

如:

Configuration configuration = new Configuration();
configuration.configure();
SessionFactory sessionFactory = configuration.buildSessionFactory();

FactoryBean接口

public interface FactoryBean<T> {
    //获取对象的实例 
	T getObject() throws Exception;
	//获取对象实例的Class类型
	Class<?> getObjectType();
	//是否单例
	boolean isSingleton();
}

 

MySessionFactoryBean

 

面试题:BeanFactory和FactoryBean的区别

BeanFactory接口,顶层父工厂,容器,获取bean的实例

FactoryBean 接口,实例化不能通过默认无参构造方法获取的bean,通过实现类的getObject方法来返回实例,如SessionFactory

org.springframework.orm.hibernate3.LocalSessionFactoryBean
集成hibernate3.x
Org.springframework.orm.hibernate4.LocalSessionFactoryBean
集成hibernate4.x

Junit

 

第三种:集成静态简单工厂(一般不用,以后学习activity要用哦)

 

静态简单工厂(静态方法)

spring集成静态简单工厂

因为spring本身就是大的工厂

 

第四种:集成实例简单工厂(一般不用)

实例简单工厂(实例方法)

spring集成实例简单工厂

 

控制反转IOC小结

public class UserServiceImpl{

     private IUserDao dao =new UserDaoJdbcImpl();

}

dao对象是在应用内部创建及维护的。

所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转,目的是为了获得更好的扩展性和良好的可维护性。

当我们把依赖对象交给外部容器负责创建,那么UserServiceImpl类可以改成如下:

public class UserServiceImpl {
     private IUserDao dao;
     set方法:依赖注入
}

 

依赖注入DI小结

所谓依赖注入就是指:在运行期(实例好了spring容器ApplicationContext),由外部容器动态地将依赖对象注入到组件中。

三种依赖注入方式

Type1 接口注入(已经out了)

Type2 设值方法注入(setter)

Type3 构造子注入

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值