1.Spring框架讲解
1.1Spring介绍
- Spring框架是针对bean的生命周期进行管理的轻量级容器,其中核心技术IOC和AOP。
1.2传统开发存在的问题
- 宠物对象对于当前的用户紧紧地绑定在一起,耦合性高
- 对象与方法紧紧地绑定在一起,耦合性高
1.3面向接口开发
1.3.1业务说明
1.Dog类中和Cat类中都有hello方法。可以将hello方法进行抽取,代码逐步演化
编辑测试类
public class Dog implements Pet{
public void hello(){
System.out.printf("小狗汪汪汪");
}
}public class User {
/**说明:如果用户喜欢狗
* 讨论:这样做有什么问题
* 问题描述:
* 1.宠物对象对于当前的用户紧紧地绑定在一起,耦合性高
* 2.对象与方法紧紧地绑定在一起,耦合性高
*/
//面向接口开发:优势在于解决了属性与方法的耦合性问题
// private static Dog dog = new Dog();
// private static Cat cat = new Cat();
private static Pet pet1 = new Dog();
private static Pet pet2 = new Cat();
public static void main(String[] args) {
pet1.hello();
pet2.hello();
}
}
public interface Pet {
void hello();
}
1.4Spring-IOC(inversion of Control)
ioc:控制反转,是一种设计思想。
对象创建的权利由Spring框架完成。由容器管理对象的生命周期
小结:
- 原来的对象都是自己手动创建,耦合性高,如果类发生变化,则代码都要修改
- 现在所有的对象都交给spring,
1.5关于spring容器
解释:Spring容器的数据结构是map集合,Map<key,value>
key=“user” value=“通过反射机制实例化的对象”
<bean id="user" class="com.jt.User"></bean>
1.6了解反射源码
说明:反射机制在框架中一般使用比较多,给定类型的路径就可以获取其中对象,但是必须有午餐构造,否则运行会报错
@Test
public void testDemo2() throws Exception {
User user = (User)Class.forName("com.jt.User").newInstance();
user.say();
}