概述
通过各种方式给容器中注册对象
以前是自己new对象,现在交给容器创建;给容器中注册主键组件
框架编写流程
导包
下载https://blog.csdn.net/qq_34738667/article/details/79612958
或使用maven的pom文件获取 方法https://github.com/spring-projects/spring-framework/wiki/Spring-Framework-Artifacts1
2spring-beans-4.0.0.RELEASE.jar、spring-context-4.0.0.RELEASE.jar、spring-core-4.0.0.RELEASE.jar、spring-expression-4.0.0.RELEASE.jar
Spring 运行时依赖的日志包 commons-logging-1.1.3.jar写配置文件
Spring 配置文件中,集合了spring对的ioc容器管理的所有组件(会员清单)
创建一个Spring Bean Configuration File(Spring bean配置文件)1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23创建一个Persion类,属性有LastName Name gender email,生成getter/setter方法
在配置文件中创建一个Person对象,Spring会自动创建Person对象
一个bean标签创建一个组件
<!--
一个bean标签可以注册一个组件(对象、类)
class 写要注册的组件的全类名
id 这个对象的唯一标识
-->
<bean id="person01" class="xyz.lyhcc.bean.Person">
<property name="lastName" value="李四"></property>
<property name="name" value="王五"></property>
<property name="gender" value="男"></property>
<property name="email" value="abc@123.com"></property>
</bean>
//在JUnit中测试
//ApplicationContext,代表ioc容器
//当前应用的xml配置文件在ClassPath下,ClassPathXmlApplicationContext
ApplicationContext ioc = new ClassPathXmlApplicationContext("ioc.xml");
Person bean = (Person) ioc.getBean("person01");
System.out.println(bean);测试
总结
注意:
- src,源码包开始的路径,称为类路径的开始
所有源码包里面的东西都会合并放到类路径里面
Java Wen类开始 /WEB-INF/classes/
Java /bin/ - 导包commons-logging-1.1.3.jar
- 先导包在创建配置文件
- Spring的容器接管标志了s的类
几个细节
- ApplicationContext(IOC容器接口)

new ClassPathXmlApplicationContext(“ioc.xml”); ioc配置文件在类路径下
new FileSystemXmlApplicationContext(“D://ioc.xml”); ioc容器配置文件在磁盘路径下 - 给容器中注册一个组件,我们也从容器中按照id拿到了这个组件的对象
组件的创建工作,是容器完成的
Person对象是在容器创建完成时就已经完成 - 同一个组件在ioc容器中是单例的,容器启动时创建完成
- 容器中如果没有这个组件,报异常NoSuchBeanDefinitionException
- ioc容器正在创建这个对象的时候,会利用setter方法为javaBean的属性进行赋值
- JavaBean的属性名由什么决定?getter/setter方法决定的