spring优点,ioc的实现,DI依赖注入的实现

Mybatis回顾

 

 

需求:根据用户的id查看用户信息

 

 

1:spring框架概述

1.1:产生的背景

 

 

1.2:spring是什么

Spring分层的JavaSE/EE full-stack(一站式) 轻量级开源框架

一站式: Spring提供JavaEE各层解决方案 (表现层 SpringMVC、 持久层 JdbcTemplate 、 ORM框架整合 、 业务层 IoC、AOP、事务控制 )

轻量级:占用资源不多,使用方便, 这个概念是个相对概念,spring出现为了取代EJB繁琐、复杂 ,相对于EJB

1.3:spring 的核心

IoC(Inverse of Control 控制反转):将对象创建权利交给Spring工厂进行管理

被反转是什么 ?  -- 对象的创建的权利

AOP(Aspect Oriented Programming 面向切面编程),基于动态代理功能增强 - 是一种编程的思想 - 在不修改源代码的情况下对功能的拓展

1.4:spring 的优点    

 

 

2:spring的快速入门

2.1:新建项目,导包

课程使用4.2.X

 

dependencies 开源技术依赖jar包集 (方便进行jar包导入)

 

 

需要导什么包?

 

需要导入这四个基本的包!!

还需要commons-logging, log4J + 配置文件

2.2:编写传统用户登录的实现

IoC   Inverse of Control 控制反转的概念,就是引入工厂的概念将原本在程序中手动创建对象的控制权,交由Spring框架管理

2.3:IoC 的实现

控制反转, 什么被反转了 ? - 对象的创建的权利

1:在src下新建一个文件:文件名为 applicationContext.xml

2:引入约束 - context

3:开始配置 - bean

 

 

4:测试:

1、加载配置文件

2、获取bean对象

3、使用对象

 

2.4:DI依赖注入的实现  

DI:Dependency Injection 依赖注入,在Spring框架负责创建Bean对象时,动态的将依赖对象注入到Bean组件

面试题:IOC和DI有什么区别?/有什么关系?

IOC的别名:依赖注入(DI)
2004年,Martin Fowler探讨了同一个问题,既然IOC是控制反转,那么到底是“哪些方面的控制被反转了呢?”,经过详细地分析和论证后,他得出了答案:“获得依赖对象的过程被反转了”。控制被反转之后,获得依赖对象的过程由自身管理变为了由IOC容器主动注入。于是,他给“控制反转”取了一个更合适的名字叫做“依赖注入(Dependency Injection)”。他的这个答案,实际上给出了实现IOC的方法:依赖注入。所谓依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。

其实他们两个人是在不同时期做的同一件事,都是获得依赖对象的过程交给了容器,只不过,ioc强调的是由容器来创建,Di强调的是容器在创建对象的时候,也可以完成对象之间关系的注入

将dao注入到service中,在service的类中添加dao的属性引用,然后给其set方法,

在xml中的service bean中使用property标签将dao注入到service中。其中name就是service的属性名,ref是dao的name或id。

2.5:工厂获得的两种方式:

 

src下 ----- ClassPathXmlApplicationContext

      WEB-INF下 ---- FileSystemXmlApplicationContext

 

posted @ 2022-02-12 23:30  这题我不会  阅读(51)  评论(0)    收藏  举报