1、什么是bean?
在Spring中,构成应用程序主干并由Spring IoC容器管理的对象称为bean;
2、什么是spring ioc容器?
IOC也称为依赖注入(DI),它是一个过程,对象定义其依赖关系,即其他与之配合的对象,仅通过构造函数参数,
工厂方法的参数,或者在从工厂方法构造或返回后在对象实例上设置的属性,然后,容器 在创建bean的时侯注入这些依赖项。
这个过程基本上是相反的,因此命名控制反转(IOC),它通过使用直接构造类来控制其依赖关系的实例化或位置,或者一个机制。
3、spring ioc容器概述(翻译)
该接口org.springframework.context.ApplicationContext代表Spring IoC容器,并负责实例化,配置和组装上述bean。
容器通过阅读配置源数据获取有关实例化,配置和组合对象的说明。配置源数据以XML,Java注释或Java代码表示。
它允许您表达构成应用程序的对象以及这些对象之间丰富的相互依赖关系。
ApplicationContext
接口的几个实现与Spring一起提供。在独立应用程序中,创建一个ClassPathXmlApplicationContext
或多个实例是常见的FileSystemXmlApplicationContext
。虽然XML是用于定义配置源数据的传统格式,
但您可以通过提供少量XML配置来声明性地启用对这些附加源数据格式的支持,指示容器将Java注释或代码用作源数据格式。
4、总结Bean实例化
第一步:创建一个单独的java项目(web项目也可以);
第二不:导入spring核心jar包,spring-core,spring-beans,spring-context,spring-context-support,spring-expression;
导入spring依赖包,commons-logging-1.0.3.jar;
第三步:创建bean实例化对象
package com.spring.mvc;
/*****
* 学习springmvc之bean
* @author ys
* @date 2017年9月8日14:56:31
* *******/
public class BeanEntity {
private String beanName;
private String beanValue;
public String getBeanName() {
return beanName;
}
public void setBeanName(String beanName) {
this.beanName = beanName;
}
public String getBeanValue() {
return beanValue;
}
public void setBeanValue(String beanValue) {
this.beanValue = beanValue;
}
}
第四步:创建springIOC容器配置文件,以xml方式创建
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.3.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">
<bean id="beanEntity" class="com.spring.mvc.BeanEntity">
<property name="beanName" value="BEAN"></property>
<property name="beanValue" value="BEAN_VALUE"></property>
</bean>
</beans>
第五步:创建测试函数
package com.spring.mvc;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class MainDome {
/**
*ApplicationContext接口的几个实现与Spring一起提供。
*在独立应用程序中,创建一个ClassPathXmlApplicationContext
*或多个实例是常见的FileSystemXmlApplicationContext。
*虽然XML是用于定义配置源数据的传统格式,
*但您可以通过提供少量XML配置来声明性地启用对这些附加源数据格式的支持,
*指示容器将Java注释或代码用作源数据格式。
* **/
public static void main(String[] args) {
//创建ApplicationContext实例,读取spring IOC内容
ApplicationContext ctx = new ClassPathXmlApplicationContext("springmvc.xml");
//读取IOC容器中BeanEntity的实例对象
BeanEntity be = (BeanEntity) ctx.getBean(BeanEntity.class);
//读取结果
System.out.println(be.getBeanName());
System.out.println(be.getBeanValue());
}
}