Spring Framework 黑马程序员-学习笔记

5.spring-核心概念

IoC :控制反转

使用对象时(如在service类中调用Dao层的对象,以便使用Dao类中的方法),本来是依靠new一个Dao层的对象来实现,而实现了Ioc思想的Spring为了解耦,将此过程改为:将Dao层的对象存进IoC容器,使用时直接调用即可。

Ioc容器负责对象的创建,初始化等一系列工作,呗创建或被管理的对象在IoC容器中统称为Bean

DI(依赖注入)

在容器中建立bean与bean之间的依赖关系的整个过程,称为依赖注入

最终效果:

使用对象时不仅可以直接从IoC容器中获取,并且能获取到bean已经绑定了的所有依赖关系

6.IoC入门案例

1.引入依赖

        
            org.springframework
            spring-context
            5.2.10.RELEASE
        

2.创建配置文件

3.配置

Spring Framework 黑马程序员-学习笔记_第1张图片

4.使用

public class App2 {
    public static void main(String[] args) {
        //获取IoC容器
        ApplicationContext ctx =new ClassPathXmlApplicationContext("applicationContext.xml");
        //获取bean
        BookDao bookDao =(BookDao) ctx.getBean("bookDao");

        bookDao.save();

    }

}

 

7.DI的入门案例

1.在serviceImpl里面去掉new的形式

Spring Framework 黑马程序员-学习笔记_第2张图片

2.在serviceImpl里面给这个bookDao属性添加set方法

Spring Framework 黑马程序员-学习笔记_第3张图片

3.在配置文件里面给serviceImpl添加依赖的类bookDao

Spring Framework 黑马程序员-学习笔记_第4张图片

Spring Framework 黑马程序员-学习笔记_第5张图片

8.bean的基础配置

1.配置别名

2.切换单例模式还是非单例模式

Spring Framework 黑马程序员-学习笔记_第6张图片

 表现层对象,业务层对象。数据层对象,工具对象,这些可以使用单例模式

而封装实体类对象不能使用单例模式

9.bean是如何创建出来的,创建bean的三种方式

第一种:

利用反射机制来调用构造方法

首先看到配置文件:

这里对应的类是BookDaoImpl

那么在创建一个bookDao时,会调用BookDaoImpl里面的无参构造方法

如果没有手动添加无参构造会调用默认的那个无参构造

如果BookDaoImpl里面只有一个有参构造方法就会报错

第二种:

静态工厂模式

Spring Framework 黑马程序员-学习笔记_第7张图片

第三种:

实例工厂模式

 

第四种(实用)

Spring Framework 黑马程序员-学习笔记_第8张图片

 12.bean的生命周期

bean生命周期:bean从创建到销毁的整体过程

bean生命周期控制:在bean创建后到销毁前做一些事情

Spring Framework 黑马程序员-学习笔记_第9张图片

13.bean的依赖注入--1.setter注入

简单类型:

Spring Framework 黑马程序员-学习笔记_第10张图片

 1.定义属性并提供公共的setter方法

2.在配置文件中配置

Spring Framework 黑马程序员-学习笔记_第11张图片

这就完成了赋值操作

 与之前的注入一个类的区别是:

注入简单类型,用balue来指定值、

而注入一个类的话就要用ref来指定模板,即创建什么样的类

14.bean的依赖注入--2.构造器注入

你可能感兴趣的:(spring,学习,笔记)