Spirng学习笔记之bean和BeanFactory(二)
来源:互联网 发布:剑三南风萝莉捏脸数据 编辑:程序博客网 时间:2024/05/29 14:41
1、Spring允许通过一个String数组指定多个配置文件,如前面所讲;Spring还允许我们通过将多个配置文件引入到一个文件中,进行配置文件集成。如以beans2.xml中引入com/test/beans1.xml为例:<import resource="classpath=com/test/beas1.xml">
,这样在启动Spring容器的时候就只要指定一个配置文件,就能启动所有配置文件了。
2、bean作用域:
singleton:单实例存在,获取和返回的都是同一个实例
prototype:每次获取返回的都是新的实例
request:每次http请求都会返回一个新的bean实例,仅适用于WebApplicationContext环境
session:同一个http共享同一个bean实例,不懂http使用不同的bean实例,仅适用于WebApplicationContext环境
globalSession:同一个全局Session共享同一个bean,仅适用于WebApplicationContext环境
3、Spring 2.0以后开始引入基于注解配置方式,示例:
import org.springframework.stereotype.Component;//通过Repository定义一个DAO的Bean/*******使用@Component注解在UserDAO类声明处对类进行标注,便可以使其被Spring容器识别,自动将其转换为容器管理 bean,等效于:<bean id="userDAO" class="UserDAO"/>*******/@Component("userDAO");public class UserDAO{ ......}
除了@Component外,还有另外三个功能基本等效的注解:
@Repository:用于对DAO实现类进行标注;
@Service:用于对Service实现类进行标注;
@Controller:用于对Controller实现类进行标注。
4、Spring 2.5以后还可以通过context命名控件,提供通过扫描类包以应用注解定义bean的方式,如示例:
<?xml version="1.0" encoding="UTF-8"?><!--生命context命名空间--><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.3w.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/contex/spring-context-3.0.xsd"><!--扫描类包以应用注解定义的bean--><!--base-package就是要扫描的基类包,Spring容器会获取这个基类里扫描到的用注解定义的bean--><context:component-scan base-package="PackageToScan"/>
如果仅希望扫描特定的类,可以使用resource-pattern属性过滤特定的类:
<!--注意resource-pattern仅能按资源名称对基包中的类进行过滤,如果要过滤其他情况,可以使用<context:component-scan>的子元素进行过滤--><context:component-scan base-package="PackageToScan" resource-pattern="SpecifiedClasses"/>
5、其他注入注解:
@Autowired:默认按类型匹配方式,在容器查找匹配的bean,当仅有一个匹配的bean时,Spring将其注入到@Autowired标注的变量中。如果希望Spring即使找不到匹配的Bean完成注入也不要抛出异常,就可以使用@Autowired(required=false)进行注解。
@Qualifier:可以限定bean的名称。
@Scope指定bean的作用范围
- Spirng学习笔记之bean和BeanFactory(二)
- Spring学习笔记之bean和BeanFactory
- Spring学习笔记之Bean基本管理(BeanFactory,ApplicationContext)
- Spring学习笔记一: Bean工厂(BeanFactory )与应用上下文(ApplicationContext)BeanFactory
- spring源码学习笔记-初始化(二)-BeanFactory
- spring源码学习笔记-初始化(二)-BeanFactory
- spring源码学习笔记-初始化(二)-BeanFactory
- Bean和BeanFactory
- Spirng实战学习笔记(转载)
- Spring IOC 学习笔记(二) BeanFactory
- Spring Bean的生命周期之我的理解(三)------BeanFactory和FactoryBean
- Java学习笔记(二十九):Map转Bean和Bean转Map
- Spring学习之IOC容器BeanFactory和ApplicationContext(三)
- Spring 之 BeanFactory Bean工厂
- Spring中的Bean和BeanFactory
- Spring中的bean和BeanFactory
- Spring中的bean和BeanFactory
- Spring学习笔记(二)Bean配置
- cocos2d小型工程的代码组织结构
- mac下的常用命令
- swift实现圆角的设置
- Servlet-登录Demo
- ubuntu14.04 安装openresty
- Spirng学习笔记之bean和BeanFactory(二)
- 常用的推荐算法
- 将file类型的文件转换为blob,将blob类型转换为file
- java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
- django csrftoken ajax
- 解决jetty运行时html等前端静态页面不能debug的问题
- Boost Asio代码示例
- libsvm在MATLAB的安装
- Python基础入门教程(4)(数据类型)