第二周学习周报

//课程

public interface ICourse {

void learn();//学习。。。

}

//Java课程

public class JavaCourse implements ICourse{

@Override

public void learn() {

System.out.println("学习java。。。");

}

}

//Html课程

public class HtmlCourse implements ICourse{

@Override

public void learn() {

// TODO Auto-generated method stub

System.out.println("学习Html");

}

}

public class Student {

//学习java课程

public void learnJava() {

ICourse course = new JavaCourse();

course.learn();

}

//学习HtmlCourse课程

public void learnHtml() {

ICourse course = new HtmlCourse();

course.learn();

}

public static void learnCourse() {

Student student = new Student();

student.learnHtml();

student.learnJava();

}

public static void main(String[] args) {

learnCourse();

}

}

通过简单工厂,可以将创建课程new集中起来操作,方便后期维护

//课程工厂

public class CourseFactory {

//根据名字获取课程

      public static ICourse getCourse(String name) {

      if(name.equals("java")) {

      return new JavaCourse();

      }

      else {

      return new HtmlCourse();

      }

      }

}

public class Student

{

//学习java课程

public void learnJava() {

ICourse course = new JavaCourse();

course.learn();

}

//学习HtmlCourse课程

public void learnHtml() {

ICourse course = new HtmlCourse();

course.learn();

}

public void learn(String name) {

ICourse course = CourseFactory.getCourse(name);

//course就是根据name拿到的相应的课程

course.learn();

}

public static void learnCourse() {

Student student = new Student();

student.learnHtml();

student.learnJava();

}

public static void learnCourseWithFactory() {

Student student = new Student();

student.learn("java");

}

public static void main(String[] args) {

//learnCourse();

learnCourseWithFactory();

}

}

Spring


IOC(控制反转)也可以称之为DI(依赖注入):

控制反转:将创建对象,属性值的方式进行了翻转,从new,setXXX()翻转为了从springIOC容器getBean()

依赖注入:将属性值注入给了属性,将属性注入给了bean,将bean注入给了ioc容器;    

总结:ioc/id,无论要什么对象,都可以直接去springioc容器中获取,而不需要自己操作(new\setXXX())

因此以后的ioc分为两步。1.先给springioc中存放对象并赋值  2.拿


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 7.16 String类 String类表示的字符串,但是它属于一个类,而不是基本数据类型,虽然像基本数据类型一样...
    emerging阅读 5,625评论 0 0
  • 一. Java基础部分.................................................
    wy_sure阅读 9,247评论 0 11
  • 课程地址:Java基础之 — 反射(非常重要) (使用的前提条件:必须先得到代表的字节码的Class,Cla...
    叨唧唧的阅读 3,952评论 0 2
  • 1. 了解 Java 中的反射 1.1 什么是 Java 的反射 Java 反射是可以让我们在运行时获取类的函数、...
    Ten_Minutes阅读 3,541评论 0 4
  • (1.编写一个计算各种形状的面积和周长的程序。 要求:父类Shape2D为一个抽象类,其中包含计算周长和计算面积两...
    盼旺阅读 6,038评论 0 1