JAVA系列笔记十二之Java Bean 配置

Bean标签:

 Id:对象的唯一标识;

 class:类的全路径;

 scope:对象的生命周期,作用范围;

     singleton:默认值,单实例对象。

     prototype:多实例的,每次请求都重新创建。一般在从容器种获取时创建对象。

     request: 多实例的,以一个http请求作为一个范围;

     session:多实例的,以session为周期的范围;

实例化bean的三种方式:

1.默认的无参数构造函数

     <bean id="us1" class="cn.test.UserServiceImpl">

2.静态工厂

<bean id="us2" class="cn.test.StaticFactory" factory-method="CreateInstance"/>
还需要添加静态工厂类代码
    public  static  UserService CreateInstance()
    {
        return  new UserServiceImpl();
    }

3.实例化工厂方式

<bean id="usfactory" class="cn.test.InstanceFactory" />
<bean id="us3" factory-bean="usfactory" factory-method="GetInstance"/>
public class InstanceFactory {

    public  UserService GetInstance()
    {
        return new UserServiceImpl();

    }
}

 DI注入:

   1.先配置依赖配置

<bean id="us1" class="cn.test.services.UserServiceImpl">
<property name="userDao" ref="ud1" />
--如果属性是值类型的,采用value赋初始值
  <property name="msg" value="消息" />

</bean>
<bean id="ud1" class="cn.test.dao.UserDaoImpl" />
2.代码里面需要有Setter:
 private UserDao userDao;
    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

 另外一种是构造方法注入,采用

<bean id="us1" class="cn.test.services.UserServiceImpl">
<constructor-arg name="" value=""  ref=""/>
</bean>

  

原文地址:https://www.cnblogs.com/junhe/p/12864781.html