`
熊小拉
  • 浏览: 5086 次
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Spring配置文件中bean含义

 
阅读更多

Spring配置文件中bean含义
例子:<bean id="userAction" class="com.neusoft.gmsbs.gms.user.action.UserAction"
          scope="prototype">
        <property name="userBO" ref="userBO" />
    </bean>
    <bean id="userBO" class="com.neusoft.gmsbs.gms.user.bo.impl.UserBOImpl">
        <property name="userDAO" ref="userDAO" />
    </bean>
    <bean id="userDAO" class="com.neusoft.gmsbs.gms.user.dao.impl.UserDAOImpl">
        <property name="sqlMapClient" ref="sqlMapClient"></property>
    </bean>

 

解释:

bean就相当于定义一个组件,这个组件是用于具体实现某个功能的。这里的所定义的bean就相当于给了你一个简洁方便的方法来调用这个组件实现你要完成的功能。
对于我们的spring最主要的应该就是由这些bean组成的bean工厂,每个bean实现一个功能
例如:你写的第一个bean
<bean id="userAction" class="com.neusoft.gmsbs.gms.user.action.UserAction"
          scope="prototype">
        <property name="userBO" ref="userBO" />
</bean>
id相当于定义了你的这个bean的别名,如果你需要他的话只要关联这个别名就可以了,也就相当于下面的<property name="userBO" ref="userBO" />一样,在你的userAction中需要实现userBO这个功能,我关联它,那么在action中set注入就可以使用了!
至于其他的属性看下面:
Id : 标识该bean的名称,通过factory.getBean(“id”)来获得实例。
    Class : 该bean的类路径。
    Singleton : 默认为true,即单实例模式,每次getBean(“id”)时获取的都是同
一个实例,如果设置为false,即原型模式,则每次获取的是新创建
的实例。
    Init-method : 在bean实例化后要调用的方法(bean里定义好的方法)。
    Destroy-method : bean从容器里删除之前要调用的方法。
    Autowire : 其属性要通过何种方法进行属性的自动装配。
    对于上述的各个属性,id和class是必要的,其他的则可以省略。例如如果设置了autowire的值,则表明需要自动装配,否则是手动装配。

 

如果上面的内容写在beans.xml中,则通过如下代码
ApplicationContext factory = new ClassPathXmlApplicationContext搜索("beans.xml");
UserAction action= (UserAction)factory.getBean("userAction");
得到的action就是一个com.neusoft.gmsbs.gms.user.action.UserAction类的实例。简单来说就是等于你UserAction action = new UserAction()得到的结果。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics