| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Note1 -> 正文阅读 |
|
[Java知识库]Note1 |
目录 ? ?? ? 一、Spring简介1.缓解了工程的复杂性。 2.2002,首次推出Spring的雏形。 ?? 给软件行业带来了春天。 3.Spring框架是由于软件开发的复杂性而创建的。 spring就是一个轻量级的控制反转(IOC)和面向切面编程(ACP)的框架 4.spring组成: 七大模块: spring core 支持aop 、dao 、orm 、web、 context 、web MVC 5.现代化的java开发就是基于spring的开发。 6.spring boot :一个快速开发的脚手架。 基于springboot可以快速的开发单个微服务。 7.spring cloud:基于springboot实现的。 学习springboot前提是掌握spring和springMVC。 弊端:发展了太久违背了原来的理念,配置十分繁琐,配置太多! 二、IOC1.IOC:是一种思想。 ?? 之前思想: (1)UserDao接口。 (2)UserDaoImpl实现类。 (3)UserService业务接口。 (4)UserServiceImpl业务实现类。 在之前的业务中,我们会根据用户的需求来修改源代码。 代码量十分大,修改一次成本太大。 2.这种思想从本质上解决了问题,我们不再需要去管理对象的创建了。系统的耦合性大大降低,可以更加专注在业务的实现上。这是IOC原型。 3.IOC本质:DI是实现IOC的一种方法。获得依赖对象的方式反转了。 IOC是spring框架的核心内容。 Hello spring
用XML需引入这一段。
IOC是一种编程思想,由主动编程变成被动的接收。 实例化容器。 对象由spring来创建、管理、装配。 “容器在手,天下我有” 4.IOC创建对象的方式 使用无参构造创建对象,默认。 假设我们要使用有参构造创建对象。 举例: (1)无参构造 User类当中:
Test当中:
有参构造 下标方式:
? 类型:(不建议使用,若有两个相同的类型,就无法识别)
?直接通过参数名
总结:在配置文件加载的时候,容器中的管理的对象就已经初始化了。 5.spring配置 别名
如果添加了别名我们也可以用别名来取到这个对象。 Bean的配置
6.Import 这个import,一般用于团队开发使用,他可以将多个配置文件,导入合并为一个。
假设,现在项目中有多个人开发,这三个人负责不同的类开发,不同的类需要注册在不同的bean中,我们可以用import将所有人的beans.xml合并为一个。 ApplicationContext.xml 使用的时候用该配置即可。 7.DI依赖注入 (1)构造器注入 (2)Set方式注入(重点) 依赖注入:Set注入。 依赖:bean对象的创建依赖于容器。 注入:bean对象中的所有属性,由容器来注入。
环境搭建: 1.复杂类型
2.真实对象
3.beans.xml
4.测试类:
拓展方式注入: (1)普通值注入
(2)bean注入
(3)数组注入
(4)list注入
? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/30 14:01:28- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |