[Java Spring 笔记]简介、配置文件及常用API
2022/1/1 20:12:36
本文主要是介绍[Java Spring 笔记]简介、配置文件及常用API,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
[Java Spring 笔记]简介、配置文件及常用API
- 参考:黑马程序员最全SSM框架教程|Spring+SpringMVC+MyBatis全套教程(spring+springmvc+mybatis)_哔哩哔哩_bilibili
目录
Java Spring简介、配置文件及常用API
Spring是什么
Spring体系结构
Spring程序开发步骤
入门示例
Spring配置文件
Bean的依赖注入入门
引入其他配置文件(分模块开发)
Spring的重点配置总结
Spring相关API
ApplicationContext的继承体系
getBean()方法使用
Spring是什么
- Spring是分层的 Java SE/EE应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspect Oriented Programming:面向切面编程)为内核。
- 提供了展现层 SpringMVC 和持久层 Spring JDBCTemplate 以及业务层事务管理等众多的企业级应用技术 ,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架
Spring体系结构
Spring程序开发步骤
- 实施步骤:
- ① 导入 Spring 开发的基本包坐标
- ② 编写 Dao 接口和实现类
- ③ 创建 Spring 核心配置文件
- ④ 在 Spring 配置文件中配置 UserDaoImpl
- ⑤ 使用 Spring 的 API 获得 Bean 实例
入门示例
- 添加spring的坐标配置
<properties> <spring.version> 5.0.5.RELEASE </spring.version> </properties> <dependencies> <!--导入spring的context坐标,context依赖core、beans、expression--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> </dependencies>
- 创建一个save接口方法,并实现:
- 在源码目录下,创建一个spring的配置文件
- 在上面添加的资源文件,进行配置
- 测试:
Spring配置文件
- Bean标签基本配置
scope:指对象的作用范围,取值如下:
- Bean标签范围配置
- 两种常用范围的对比:
- Bean生命周期配置
- init-method:指定类中的初始化方法名称
- destroy-method:指定类中销毁方法名称
- Bean实例化三种方式
![]()
![]()
![]()
Bean的依赖注入入门
- 分析
- 解决方式:
![]()
- 依赖注入概念
![]()
- set方法注入
- 在UserServiceImpl中添加setUserDao方法
![]()
- 配置Spring容器调用set方法进行注入
- 另一种写法:
- 构造方法注入
- 配置Spring容器调用有参构造时进行注入
- Bean的依赖注入的数据类型
- 普通数据类型的注入
- 集合数据类型(List<String>)的注入
- 集合数据类型(List<User>)的注入
- 集合数据类型( Map<String,User> )的注入
- 集合数据类型(Properties)的注入
引入其他配置文件(分模块开发)
Spring的重点配置总结
Spring相关API
ApplicationContext的继承体系
- applicationContext:接口类型,代表应用上下文,可以通过其实例获得 Spring 容器中的 Bean 对象
- ApplicationContext的实现类
getBean()方法使用
- 其中,当参数的数据类型是字符串时,表示根据Bean的id从容器中获得Bean实例,返回是Object,需要强转。
- 当参数的数据类型是Class类型时,表示根据类型从容器中匹配Bean实例,当容器中相同类型的Bean有多个时, 则此方法会报错
- Spring的重点API小结
这篇关于[Java Spring 笔记]简介、配置文件及常用API的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-07-04TiDB 资源管控的对撞测试以及最佳实践架构
- 2024-07-03万字长文聊聊Web3的组成架构
- 2024-07-02springboot项目无法注册到nacos-icode9专业技术文章分享
- 2024-06-26结对编程到底难不难?答案在这里
- 2024-06-19《2023版Java工程师》课程升级公告
- 2024-06-15matplotlib作图不显示3D图,怎么办?
- 2024-06-1503-Loki 日志监控
- 2024-06-1504-让LLM理解知识 -Prompt
- 2024-06-05做软件测试需要懂代码吗?
- 2024-06-0514-ShardingSphere的分布式主键实现