③需要使用Ioc的对象
使用Spring框架后,并非所有的对象都需要在Ioc容器中配置。Spring中需要使用Ioc容器管理的bean都与实际应用的对象一一对应,但是并非所有的对象都需要在Ioc中进行管理,常见的需要使用Ioc进行管理的对象有如下几种:
1.服务层对象封装了业务逻辑,如CustomerServiceImpl;
2.数据访问对象封装了数据访问逻辑,如CustomerDaoImpl;
3.表示层对象,例如struts2框架中的Action类;
4.工厂类对象,如Heibernate框架的SessionFactory工厂对象;
5.JMS中的Queue和Topic对象。
值得注意的是,任何对象都可以在Ioc容器中进行管理。不过在javaEE的应用中,上述几种对象使用Ioc管理的情况比较多,比如一些实体类,不需要Ioc容器进行管理,在代码中可以直接使用new关键字进行创建。
④如何实例化bean
使用Ioc容器管理bean,主要包括实例化bean以及装配bean两个方面。
通常有三种方法进行实例化bean:
通过无参构造方法实例化:如果在配置文件中只使用id和class属性配置bean,则默认调用类的无参构造方法实例化。
通过静态工厂方法进行实例化:有些类中提供了静态的工厂方法返回实例。在配置文件中可以使用factory-method属性调用该静态工厂方法,创建实例
通过非静态工厂方法返回实例。
⑤setter注入和构造器注入
对象实例化后,往往需要对其依赖的属性进行赋值,称为依赖注入。Spring中主要有两种注入方式,即setter注入和构造器注入。
使用类的setter注入方式是最常用的一种方法,即通过调用类的setXXX方法,注入所依赖的属性;
构造方法注入,即通过调用带参的构造方法注入所·依赖的属性。