spring核心:bean工厂的装配 1
本文中主要包含spring中bean工厂的相关知识。主要包含一下话题:
1.bean factory getstart初时bean工厂
2.bean基础定义
3.使用构造函数创建bean
4.使用静态工厂方法创建bean
5.使用非静态工厂方法创建bean
6.bean的标识符
7.何时使用singleton
8.设置bean的属性和协作者
9.bean构造函数选择决议
10.自动装配
11.依赖检查
12.使用value元素设定属性
13.使用null设定空值
14.使用collection设定集合
15.定义内部bean
16.使用idref元素预检查错误
17.使用ref设定依赖
18.value和ref的简写
19.方法的注入
20.bean的生命周期接口
21.让bean知道自己的身份
22.父bean和子bean
23.定制bean工厂
上面的内容比较多,可能分为几个部分来说明。这篇文章中主要包含:
1.bean factory getstart初时bean工厂
2.bean基础定义
1.bean factory getstart初时bean工厂
在spring中最基本的BeanFactory接口是org.springframework.beans.factory.BeanFactory,其代码如下:
public interface BeanFactory { String FACTORY_BEAN_PREFIX = "&"; Object getBean(String name) throws BeansException; <T> T getBean(String name, Class<T> requiredType) throws BeansException; <T> T getBean(Class<T> requiredType) throws BeansException; Object getBean(String name, Object... args) throws BeansException; boolean containsBean(String name); boolean isSingleton(String name) throws NoSuchBeanDefinitionException; boolean isPrototype(String name) throws NoSuchBeanDefinitionException; boolean isTypeMatch(String name, Class targetType) throws NoSuchBeanDefinitionException; Class<?> getType(String name) throws NoSuchBeanDefinitionException; String[] getAliases(String name); }
这个接口中常用的方法有三个:getBean, isSingleton, getAlians. 在实际的项目中可以这么实例化BeanFactory:
/** * 加载spring的运行环境 */ ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
多数的情况下,客户代码是不需要直接实例化ApplicationContextd的,spring的框架会在背后自动执行,在web启动服务的时候,自动加载ApplicationContext。
2.bean基础定义
bean的基础定义如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" 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-3.0.xsd"> </beans>
在myeclipse 8.5中可以这么添加一个bean:
然后就会显示下面的对话框:
在下面的几篇文章中将逐步解释上面对话框中的选项如何填写。