1、IoC
什么是IoC:Inverse of Control(控制反转)
这不是什么技术,而是一种设计思想(类似MVC)。就是将原本在程序中手动创建对象的控制权,交由Spring框架管理。
简单来说,就是创建对象控制权被反转到了Spring框架。
2、Spring容器创建Bean的步骤
1)加载applicationContext.xml文件;
Resource resource = new ClassPathResource("applicationContext.xml");
2)创建并获取Spring容器;
BeanFactory factory =new XmlBeanFactory(resource);
3)获取指定Bean;
// <bean id="helloWorld" class="com.test.HelloWorld">
// id:Bean的唯一标识,class:类的全限定名
// Object obj = Class.forName("com.test.HelloWorld").NewInstance(); 反射机制
HelloWorld helloWorld = null;
①helloWorld = (HelloWorld) factory.getBean("helloWorld"); 根据Bean名字取对象,需要强制转换,可以转换为任意类型,不安全
②helloWorld = factory.getBean(HelloWorld.class); 根据Bean类型取对象,要求Spring中只配置一个这种类型的实例,HelloWorld类如果有2个Id时,会报错
③helloWorld = factory.getBean("helloWorld",HelloWorld.class); 类型更安全(推荐)
4)操作Bean;
helloWorld.sayHello();
3、Spring中引入其他配置文件
// 默认从当前路径查找文件,可以带上路劲前缀:
// classpath:表示从classpath路径去找文件(推荐),file:表示从磁盘中去找文件
// 注:只有Resource接口才能识别和解析这种前缀
<import resource="applicationContext-aop.xml" />
4、Bean元素的id和name
id的命名要满足XML对id属性的命名规范,必须以字母开始,可以由字母、数字等组成;
name是id的别名,可以使用很多特殊字符,如:/login;(特殊情况才使用)