【SSM面向CRUD编程专栏 1】Spring简介 xml配置文件 依赖注入 数据注入(二)

简介: 【SSM面向CRUD编程专栏 1】Spring简介 xml配置文件 依赖注入 数据注入(二)

2 xml配置文件

Bean标签的配置


属性:


id:Bean在Spring容器中的唯一标识,在一个xml配置文件内部所有Bean标识的命名不可与之重复


class:Bean的全限名,指定这个id标识所对应的Bean类。Spring框架底层利用反射通过这个全限名对应Bean类的无参构造器创建对象。


scope:指的是对象创建的模式,有以下五中取值


singleton:是scope属性的默认值,相当于饿汉单例模式,也就是说Bean对象只在使用xml配置文件创建Spring客户端对象的时候创建一次,之后使用getBean方法获取Bean对象的时候返回的都是之前创建好的Bean对象。singleton一共就在Spring的核心文件被加载时创建一次一个Bean对象存储在容器里,当应用卸载销毁容器时对象随之销毁。

prototype:相当于多例设计模式,也就是说在每一次使用Spring客户端对象的getBean方法时都会创建一个新的Bean对象并返回。prototype是使用几次getBean方法就会创建几个Bean对象,当对象长时间不用的时候就会被java的垃圾回收机器回收对象也就销毁了。

request:web项目中,Spring创建一个Bean对象并将其存入到request域中

session:web项目中,Spring创建一个Bean对象并将其存入到session域中

global session:web项目中,应用于portlet环境中,如果没有portlet环境的话就相当于session

init-method:指定Bean类中的初始化方法


destory-method:指定Bean类中的销毁方法


import标签

image.png

import标签是用来将其他配置文件的配置内容加载到这个配置文件中


Bean实例化的三种方法:


无参构造方法实例化(重点):无参构造方法其实就是我们上面讲的那些知识点

工厂静态方法实例化:通过工厂中的静态方法进行实例化,只需创建一个工厂类,类里面创建一个静态方法,方法返回一个无参构造器创建的Bean对象,再设置xml文件即可

image.png

image.png



工厂实例方法实例化:通过工厂中的实例方法进行实例化,与工厂静态方法的区别就是,用于返回一个无参构造器创建的Bean对象的方法是实例方法,xml配置文件也不一样,要更加复杂些。

image.png


image.png


3 依赖、数据注入问题

引出问题


       现在有这么一个情况,除了上面已经有的dao层之外,新建一个业务层service。service层的结构和dao层相似,也是一个接口和实现类。目录结构如下:

image.png

UserServiceImpl类和UserDaoImpl类也都通过xml配置文件的bean标签进行配置。

image.png

此时有一个需求,就是要在service层的UserServiceImpl类里的cast()方法中调用UserDaoImpl类的save()方法,实现思想就是在UserServiceImpl类里的cast()方法中使用之前UserDaoDemo的那一套进行调用UserDaoImpl类的save()方法

image.png

在新建的UserController类中使用那一套调用UserServiceImpl类里的cast()方法

image.png



这么一来,就可以在Spring容器外部将Dao组装到了Service 那么,有没有一种方式,可以在Spring容器内部就将Dao组装到了Service呢?有的,于是乎就出现了依赖注入。

image.png

依赖注入:


       依赖注入(Dependency Injection)是Spring框架核心IOC(控制反转)的具体实现。在编程的时候通过控制反转就可以把对象的创建交给Spring 容器,IOC只是降低他们之间的依赖关系并不会消除依赖,service层仍会调用dao层的方法。那么,该如何将UserDao注入到UserService的内部呢?


目录
打赏
0
0
0
0
7
分享
相关文章
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— logback.xml 配置文件解析
本文解析了 `logback.xml` 配置文件的详细内容,包括日志输出格式、存储路径、控制台输出及日志级别等关键配置。通过定义 `LOG_PATTERN` 和 `FILE_PATH`,设置日志格式与存储路径;利用 `<appender>` 节点配置控制台和文件输出,支持日志滚动策略(如文件大小限制和保存时长);最后通过 `<logger>` 和 `<root>` 定义日志级别与输出方式。此配置适用于精细化管理日志输出,满足不同场景需求。
161 1
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档—— Swagger 简介
第6课介绍了在Spring Boot中集成Swagger2以展示在线接口文档的方法。随着前后端分离架构的发展,API文档成为连接前端与后端开发的重要纽带。然而,代码更新频繁导致文档难以同步维护,Swagger2解决了这一问题。通过Swagger,在线API文档不仅方便了接口调用方查看和测试,还支持开发者实时测试接口数据。本文使用Swagger 2.2.2版本,讲解如何在Spring Boot项目中导入并配置Swagger2工具,从而高效管理接口文档。
105 0
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——指定项目配置文件
在实际项目中,开发环境和生产环境的配置往往不同。为简化配置切换,可通过创建 `application-dev.yml` 和 `application-pro.yml` 分别管理开发与生产环境配置,如设置不同端口(8001/8002)。在 `application.yml` 中使用 `spring.profiles.active` 指定加载的配置文件,实现环境快速切换。本节还介绍了通过配置类读取参数的方法,适用于微服务场景,提升代码可维护性。课程源码可从 [Gitee](https://gitee.com/eson15/springboot_study) 下载。
58 0
Spring Boot 配置文件总结
Spring Boot 提供全局配置文件 `application.properties` 和 `application.yml`,用于修改自动配置的默认值。前者使用键值对配置,后者使用缩进和冒号。不同环境(开发、测试、生产)可切换配置文件,通过 `spring.profiles.active` 指定。例如,开发环境端口为4790,测试环境为4791,生产环境为4792。配置示例展示了属性、List、Map定义及引用方法。
125 14
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
本文详细介绍了Spring框架的核心功能,并通过手写自定义Spring框架的方式,深入理解了Spring的IOC(控制反转)和DI(依赖注入)功能,并且学会实际运用设计模式到真实开发中。
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
本文介绍了在使用Spring框架时,如何通过创建`applicationContext.xml`配置文件来管理对象。首先,在resources目录下新建XML配置文件,并通过IDEA自动生成部分配置。为完善配置,特别是添加AOP支持,可以通过IDEA的Live Templates功能自定义XML模板。具体步骤包括:连续按两次Shift搜索Live Templates,配置模板内容,输入特定前缀(如spring)并按Tab键即可快速生成完整的Spring配置文件。这样可以大大提高开发效率,减少重复工作。
使用idea中的Live Templates自定义自动生成Spring所需的XML配置文件格式
轻松掌握Spring依赖注入:打造你的登录验证系统
本文以轻松活泼的风格,带领读者走进Spring框架中的依赖注入和登录验证的世界。通过详细的步骤和代码示例,我们从DAO层的创建到Service层的实现,再到Spring配置文件的编写,最后通过测试类验证功能,一步步构建了一个简单的登录验证系统。文章不仅提供了实用的技术指导,还以口语化和生动的语言,让学习变得不再枯燥。
90 2
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
139 0
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
153 1
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等