1.1 Spring介绍
Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。
Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能。Spring可以单独应用于构筑应用程序,也可以和Struts、Webwork、Tapestry等众多Web框架组合使用,并且可以与 Swing等桌面应用程序AP组合。因此, Spring不仅仅能应用于JEE应用程序之中,也可以应用于桌面应用程序以及小应用程序之中。Spring框架主要由七部分组成,分别是 Spring Core、 Spring AOP、 Spring ORM、 Spring DAO、Spring Context、 Spring Web和 Spring Web MVC。
知识补充:
1.J2SE java基础 J2EE java企业级开发 J2ME 移动端开发
2. bean: spring容器管理的对象称之为bean
3. 生命周期: 对象创建/对象的初始化/对象执行业务逻辑/对象销毁
4. 轻量级容器: Spring在内存中申请了一块内存空间,用来存储其它对象.
1.2 知识铺垫
1.2.1 编辑Dog类
public class Dog {
public void hello(){
System.out.println("你好,我是小狗汪汪汪");
}
}
1.2.2 编辑Cat类
public class Cat {
public void hello(){
System.out.println("你好,我是小猫喵喵喵");
}
}
1.2.3 编辑测试类
package com.jt.demo1;
public class User {
//说明: 当前类中 Dog对象与User对象绑定.耦合性高
//如果需要切换Cat对象.则需要手动修改代码.
//所以得出结论,如果自己实例化对象,则不能实现很好的解耦.
private static Dog dog = new Dog();
//private static Cat cat = new Cat();
public static void main(String[] args) {
dog.hello();
}
}
1.2.4 上述代码的总结
- 该User类与属性紧紧的绑定在一起. 耦合性高
- 类中的方法与属性的名称绑定在一起. 耦合性高.
1.3 面向接口编程
1.3.1 面向接口编程说明
说明: 将子类中的方法 进行高级的抽取,抽取到接口中. 这时该接口用来定义行为规范准则.
面向接口编程优势: 解决了属性与方法名的耦合.以后几乎可以不修改属性名
1.3.2 代码结构
- 定义Pet 接口
package com.jt.demo2;
public interface Pet {
//接口的作用? 抽取一些公共的方法!!!
void hello();
}
- 定义Dog类
package com.jt.demo2;
public class Dog implements Pet{
@Override
public void hello() {
System.out.println("小狗汪汪汪!!!");
}
}
- 定义Cat类
package com.jt.demo2;
public class Cat implements Pet{
@Override
public void hello() {
System.out.println("小猫 喵喵!!!");
}
}
- 定义测试类
package com.jt.demo2;
public class User {
//1.用户可以使用接口当做属性
//2.面向接口开发! 以后方法的属性名称不用修改
private static Pet pet = new Dog();//多态!!
public static void main(String[] args) {
pet.hello();
}
}