Spring-Bean:利用它可以在我们的src下的Bean.xml中配置我们的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”
xsi:schemaLocation=“http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd”>
< bean id="…" class="…">
< /bean>
< bean id="…" class="…">
< /bean>
< /beans>
这里可以配置多个Bean 其中 id是一个Bean的唯一标识,class是Bean的全类名。当我们在调用某Bean时我们不再像以前那样每次都要 neaw xxx。这时我们只需要利用控制反转原理,用框架中封装好的方法:
①:ApplicationContext context=new ClassPathXmlApplicationContext(“Beans.xml”);
HelloWorld obj= (HelloWorld)context.getBean(“这里传入在Beans.xml中定义好的id值”);//这样就拿到了这个Bean的实例,之后就可以调用这个Bean的任何方法。
obj.getMessage(); 当然Spring框架中也给我们提供了另一种获得Bean实例的方法:XMLBeanFactory bf=new XMLBeanFactory(new ClassPathResource(“Bean.xml”));
bf.getBean(“id值”); (一般在移动设备我们使用XMLBeanFactory,正常情况下推荐使用ApplactionContext)
②:这里的ClassPathXmlApplicationContext();也可用:FileSystemXmlApplicationContext(“Beans.xml的包全名”);
Bean的介绍:
1:
| 属性 | 描述 |
|class|用来放Bean这个类的全类名|
|id|用来唯一标识Bean的,你可以在getBean(“id值”);这个方法中获得这个Bean的实例 |
|scope| |这个属性指定由特定的bean定义创建的对象的作用域|
|constuctor-arg| |用来注入依赖关系|
|autowiring mode| |用来注入依赖关系|
|properties| |注入依赖关系|
|lazy-initialization mode| |延迟初始化的bean告诉loc容器在它第一次被请求时,而不是在启动时去创建一个bean实例|
|initialization方法| |在bean的所有必需的属性被容器设置之后,调用回调方法。|
|destruction方法| |当包含该bean的容器被销毁时,使用回调方法。|
| 作用域 |描述 |
| singleton|在Spring容器中仅存在一个Bean实例,Bean以单例方式存在,默认值|
| prototype|每次从容器中调用该bean时都会创建一个新的bean 相当于每次都new|
|request|每次HTTP请求都会创建一个新的Bean,该作用域仅适用于WebApplicationContext环境|
|session|同一个HTTP Session共享一个Bean,不同的Session使用不同的Bean,仅适用于WebApplicationContext环境|
|global-session|一般用于Portlet应用环境,该运用域仅适用于WebApplicationContext环境|