spring-bean的作用域和自动装配

scope指的是bean的作用域,在配置bean,由scope属性来配置bean的作用域

 

 singleton单例 :整个容器中只有一个对象实例 spring配置默认是单例

prototype原型 每次获取bean都产生一个新的对象

request每次请求时创建一个新的对象

session在会话的范围内时一个对象

global session 只在portlet下有用,可以看做是application

application 在应用范围中的一个对象

           

需要注意一点的是整合struts2时:需要将action设为scope="prototype"

 

自动装配(spring偷懒去配置文件)

在配置bean,可以配置bean的autowire属性,用于指定装配类型

autowire自动装配,简化spring配置的繁琐

no:不使用自动装配

byName:根据名称(set方法名)去查找对应的bean,如果找到则装配上

byType:根据类型进行自动装配 不用管bean的id,但是同一种类型的bean只能有一个!!

constructor:当通过构造器注入实例化bean的时候,使用byType的方式装配构造方法。

 

在头部加一个 default-autowire可以配置全局的自动装配类型。


    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd" default-autowire="default">

 比起自动装配 用annotation更好

 

 

你可能感兴趣的:(javeee)