栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring框架---第一节Ioc和DI(注入)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring框架---第一节Ioc和DI(注入)

1. Spring简介

  1.1 Spring是什么

   Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转     控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核。提供了展现           层 SpringMVC 和持久层 Spring JDBCTemplate 以及业务层事务管理等众多的企业级应用技    术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架。

1.2 Spring发展历程

Rod Johnson ( Spring 之父)

2017 年 9 月份发布了 Spring 的最新版本 Spring5.0 通用版(GA)

1.3 Spring的优势(重点)

1)方便解耦,简化开发

通过 Spring 提供的 IoC容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬编码所造成的过度耦合。

用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。

2)AOP 编程的支持

通过 Spring的 AOP 功能,方便进行面向切面编程,许多不容易用传统 OOP 实现的功能可以通过 AOP 轻松实现。

3)声明式事务的支持

可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务管理,提高开发效率和质量。

4)方便程序的测试

可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情。

2. Spring快速入门

2.1 Spring程序开发步骤

① 新建maven后,导入 Spring 开发的基本包坐标配置在pom.xml文件中

 ② 编写 Dao 接口和实现类

接口:

实现类:

③ 创建 Spring 核心配置文件

在resources文件下创建spring-config 自动生成以下代码 

④ 在 Spring 配置文件中配置 UserDaoImpl

加在spring核心配置文件中

⑤ 使用 Spring 的 API 获得 Bean 实例

 总结spring开发步骤:

        1.配置pom.xml中基本坐标

        2.创建dao接口并实现接口类

        3.创建spring-confing配置文件

        4.配置文件中对bean进行配置事项bookDaoImpl

        5.main函数中使用applicationContext 实例化容器 使用getbean获得bean对象

DI注入:

依赖注入(Dependency Injection):它是 Spring 框架核心 IOC 的具体实现。在编写程序时,通过控制反转,把对象的创建交给了 Spring,但是代码中不可能出现没有依赖的情况。IOC 解耦只是降低他们的依赖关系,但不会消除。例如:业务层仍会调用持久层的方法。那这种业务层和持久层的依赖关系,在使用 Spring 之后,就让 Spring 来维护了。简单的说,就是坐等框架把持久层对象传入业务层,而不用我们自己去获取。

因为UserService和UserDao都在Spring容器中,而最终程序直接使用的是UserService,所以可以在Spring容器中,将UserDao设置到UserService内部。

注入方式:

1.构造器注入

        接口实现类bookDaoImpl中创建构造器

在接口类serviceDaoImpl中删除业务层中使用new方法创建dao对象 并且创建set方法获得传来的bookDao对象

配置文件中配置service和dao的关系

  2.静态工厂注入

创建静态方法

3.实例工厂注入

使用接口FactoryBean

除了对象的引用可以注入,普通数据类型,集合等都可以在容器中进行注入 

注入数据的三种数据类型  通过value注入

普通数据类型

引用数据类型

集合数据类型

 

 

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/919417.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号