1 Bean的作用域

  • l  singleton单列:整个容器中只有一个对象实例,每次去访问都是访问同一个对象  默认是单列
  • l  prototype原型: 每次获取bean都产生一个新的对象,比如Action
  • l  request:每次请求时创建一个新的对象
  • l  session:在会话的范围内是一个对象,http那个session
  • l  global session:只在portlet下有用,表示application
  • l  application:在应用范围内有效

注意:配置action的时候注意设置bean作用域为scope=”prototype”,其他不常用。

2 Bean自动装配---简化spring配置文件

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

//下面代码中的类的创建见spring IOC

// no不使用自动装配
//byName根据名称(set方法名首字母小写)去查找相应的bean,如果有则装配上去
<bean name=userDao" class="com.silvan.dao.impl.UserDaoOracleImpl" />
<bean name="userService" class="com.silvan.service.impl.UserServiceImpl" autowire="byName"/>
//使用bean
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
// byType根据类型进行自动装配 不用管bean的id或name 但是同类型的bean只能有一个 建议慎用。其中UserDaoMySqlImpl属于UserDao子类型,所以会被自动装配
<bean class="com.silvan.dao.impl.UserDaoMySqlImpl"/>
<bean name="userService" class="com.silvan.service.impl.UserServiceImpl" autowire="byType"/>
//根据类型判断使用哪个bean
public void setUserDao(UserDao userDao) {
this.userDao = userDao;

可以配置全局的自动装配类型,在头部default-autowire

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

推荐不使用自动装配,而使用annotation。

spring bean的作用域和自动装配的更多相关文章

  1. Spring入门(5)-自动装配Bean属性

    Spring入门(5)-自动装配Bean属性 本文介绍如何装配Bean属性. 0. 目录 ByName ByType constructor 默认自动装配 混合使用自动装配和显示装配 1. ByNam ...

  2. spring学习总结——装配Bean学习一(自动装配)

    一.Spring配置的可选方案 Spring容器负责创建应用程序中的bean并通过DI来协调这些对象之间的关系.但是,作为开发人员,你需要告诉Spring要创建哪些bean并且如何将其装配在一起.当描 ...

  3. Spring Bean的作用域(转)

    Spring Bean的作用域 .singleton  [单例] eg:<bean id="personService" class="com.yinger.ser ...

  4. 8 -- 深入使用Spring -- 2...6 Spring 4.0 增强的自动装配和精确装配

    8.2.6 Spring 4.0 增强的自动装配和精确装配 Spring提供了@Autowired 注解来指定自动装配,@Autowired可以修饰setter方法.普通方法.实例变量和构造器等.当使 ...

  5. spring bean 的作用域之间有什么区别

    spring bean 的作用域之间有什么区别? spring容器中的bean可以分为五个范围.所有范围的名称都是说明的, 1.singleton:这种bean范围是默认的,这种范围确保不管接受到多个 ...

  6. Spring bean的作用域以及生命周期

    一.request与session的区别 request简介 request范围较小一些,只是一个请求. request对象的生命周期是针对一个客户端(说确切点就是一个浏览器应用程序)的一次请求,当请 ...

  7. spring bean 的作用域

    spring bean 的作用域: 1.单例(singleton):默认是单例模式,也就是说不管给定的bean被注入到其他bean多少次,注入的都是同一个实例. 2.原型(prototype):每次注 ...

  8. Spring 学习笔记(五)—— Bean之间的关系、作用域、自动装配

    继承 Spring提供了配置信息的继承机制,可以通过为<bean>元素指定parent值重用已有的<bean>元素的配置信息. <?xml version="1 ...

  9. Spring(九):Spring配置Bean(二)自动装配的模式、Bean之间的关系

    XML配置里的Bean自动装配 Spring IOC容器可以自动装配Bean,需要做的仅仅是在<bean>的autowire属性里指定自动装配的模式,模式包含:byType,byName, ...

随机推荐

  1. 分享一个android仿ios桌面卸载的图标抖动动画

    直接上代码,如有更好的,还请不吝赐教 <span style="font-size:18px;"><?xml version="1.0" en ...

  2. 虚拟机window7与主机之间文件复制设置

    一.需要安装VMware Tools 选中虚拟机>虚拟机>安装VMware Tools 一直点击下一步直至完成 二.设置文件共享 选定实体机需要共享给虚拟机的文件夹,并为该共享起一个名称. ...

  3. Redis各种数据类型的使用场景

    Redis的六种特性 l Strings l Hashs l Lists l Sets l Sorted Sets l Pub/Sub Redis各特性的应用场景 Strings Strings 数据 ...

  4. oc11---结构体作为属性

    // // main.m // 结构体作为对象的属性 #import <Foundation/Foundation.h> typedef struct { int year; int mo ...

  5. SVGImageView

    In essence, I'm trying to layer multiple ImageViews (one of which is a floor plan, the other a recta ...

  6. android 经典博客

    http://blog.csdn.net/harvic880925/article/category/1707319

  7. 【POI 2007】 山峰和山谷

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1102 [算法] 广度优先搜索 [代码] #include<bits/stdc+ ...

  8. Redis(三)、Redis主从复制

    一.主从复制 主从复制:主节点负责写数据,从节点负责读数据,从而实现读写分离,提高redis的高可用性. 让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主节点(mast ...

  9. 仿QQ浏览器mac版官网主页 html+css3特效

    这是一款超酷的CSS3动态背景动画特效,CSS3仿QQ浏览器官网彗星动画背景特效. 在线演示本地下载

  10. css3 y轴翻转效果

    这个小例子是hover的时候可一看到div沿着y轴转动一圈 思路:css写好动画transiton: all 1s; hover的时候给他一个状态transform:rotateY(180deg); ...