珠宝网站建设做网站项目流程图模板

news/2025/9/26 11:55:51/文章来源:
珠宝网站建设,做网站项目流程图模板,医疗器械公司,自己做网站打开很卡Spring的开发要点总结 文章目录 【JavaEE】Spring的开发要点总结#xff08;1#xff09;1. DI 和 DL1.1 DI 依赖注入1.2 DL 依赖查询1.3 DI 与 DL的区别1.4 IoC 与 DI/DL 的区别 2. Spring项目的创建2.1 创建Maven项目2.2 设置国内源2.2.1 勾选2.2.2 删除本地jar包2.2.3 re… Spring的开发要点总结 文章目录 【JavaEE】Spring的开发要点总结11. DI 和 DL1.1 DI 依赖注入1.2 DL 依赖查询1.3 DI 与 DL的区别1.4 IoC 与 DI/DL 的区别 2. Spring项目的创建2.1 创建Maven项目2.2 设置国内源2.2.1 勾选2.2.2 删除本地jar包2.2.3 reload 2.3 添加依赖2.4 创建启动类 3. 将Bean对象存储到Spring(IoC容器)中3.1 创建一个Bean对象3.2 将Bean对象存储到Spring中3.2.1 配置文件3.2.2 包含一个bean标签 3.3 获取Bean对象并使用3.3.1 获取Spring的上下文对象3.3.2 通过Spring的上下文对象获取一个指定的Bean对象3.3.3 使用Bean对象3.3.4 验证懒加载-两种获取Bean对象的方法的区别 【JavaEE】Spring的开发要点总结1 Spring的初步了解博客【JavaEE】JavaEE进阶框架的学习 - Spring的初步认识_s:103的博客-CSDN博客 就不带大家回顾了~ 从框架获取的对象称为获取【Bean对象】 Java是咖啡Bean就是咖啡豆也就是“对象” Spring项目开发就是 开业放咖啡豆到罐子里后续从罐子里拿咖啡豆结合豆子用咖啡机做咖啡咖啡给用户喝的过程~ 1. DI 和 DL 1.1 DI 依赖注入 在Spring项目中DI通常指的是Dependency Injection依赖注入。Spring框架是一个使用DI作为核心思想的开源框架它通过依赖注入的方式管理和注入对象之间的依赖关系。 指的是在程序运行期间动态地将“依赖对象”获取到的过程 以Framework构造方法为例需要一个依赖对象“bottom”那么就在运行的时候动态地在框架内部去查询到对应地Bean对象然后赋值给bottom 这就是依赖的注入~ 后面真正进入Spring代码的学习的时候会有更好的理解 1.2 DL 依赖查询 在Spring项目中DL通常指的是Dependency Lookup依赖查找。Dependency Lookup 是一种在运行时通过容器来查找和获取依赖对象的方式。 DL与DI不同的最大一点就是DL显式的去从框架内部获取Bean对象然后自己去赋值给对应的对象 后面真正进入Spring代码的学习的时候会有更好的理解 1.3 DI 与 DL的区别 静态与动态 DI 是在对象创建时将依赖注入到对象中而DL 是在运行时通过容器查找和获取依赖对象。 控制权 DI 将控制权交给容器在对象创建时由容器负责注入依赖对象而 DL 则由代码显式调用容器的方法来获取依赖对象控制权更多地在代码手中。 依赖关系的表达 DI 的依赖关系通过构造函数、Setter方法或注解等方式在类的定义中表达而 DL 则需要在代码中显式地调用容器的方法来获取依赖对象。 灵活性 DI 可以更方便地进行单元测试和模拟依赖对象因为依赖对象可以通过构造函数或 Setter 方法注入而 DL 则需要运行时访问容器不太适合在测试环境中进行模拟。 松耦合与紧耦合 DI 通过将依赖对象注入到类中实现了松耦合对象不需要关心如何获取依赖而 DL 则需要显式地调用容器方法来获取依赖导致对象与容器之间紧密耦合。 后面真正进入Spring代码的学习的时候会有更好的理解 1.4 IoC 与 DI/DL 的区别 IoC是“目标”的一种思想而IoC就是只是“指导原则”“Spring的基本思想” DI/DL则是“落实的方案”就属于“Spring特点的具体实现” IoC是控制权的反转“向框架要对象”那么Bean对象是怎么给我们的就是DI/DL 接下来就要创建Spring项目了配置国内源哦在上一篇文章中有提到~ 2. Spring项目的创建 2.1 创建Maven项目 Spring项目的基础就是Maven项目 然后输入创建目录确认 2.2 设置国内源 2.2.1 勾选 以后的设置一并改了 2.2.2 删除本地jar包 之前留下的jar包很有可能是你没有设置国内源导致一些jar包不完整导致后续无法重新向中央仓库下载这些jar包~ delete删除即可 2.2.3 reload 耐心等待~ 这个时间就差不多~ 2.3 添加依赖 dependenciesdependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.2.3.RELEASE/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-beans/artifactIdversion5.2.3.RELEASE/version/dependency /dependencies建议把这些常用的依赖放在git上的代码片段上方便获取 这里版本号后面是release也没问题~因为国内源里确实存在~ 添加的框架有 spring-contextspring 上下文还有 spring-beans管理对象的模块 2.4 创建启动类 项目的运行的就是main方法~ 很多知识要到后面才能理解哦一步步来 3. 将Bean对象存储到Spring(IoC容器)中 3.1 创建一个Bean对象 一个Bean对象无非就是java中的一个普通的类的一个实例罢了~ 3.2 将Bean对象存储到Spring中 3.2.1 配置文件 这个时候就需要一个配置文件 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd/beans直接复制过去即可 resources就是放一些配置文件的~取名规则写实直观表达文件内容含义 爆红的话reload一下~ 3.2.2 包含一个bean标签 id 将对象存储到IoC容器中的名字 class 要存储到IoC中的Bean的完整路径 创建一个包 把UserService拖进去 默认是不分组的去掉这个√就分组了 而bean标签的class属性就是类的路径~ 包名.类名 两个对象~ 这一步虽然看似我们将这个类的对象放进Spring中但是只起到“声明”的作用~ 因为IoC容器加载对象如果是懒汉模式即是非必要不加载所以这一步就是声明对象在容器中的“名字”和“位置” 所以代码在运行的过程中加载才会通过这个配置文件将Bean放进容器中~ 3.3 获取Bean对象并使用 获取和使用都在启动类的main方法中~ 3.3.1 获取Spring的上下文对象 没有题词很正常打出来就行了然后导包 法1ApplicationContext 用单词全称的好处就是打错字会有提醒~ 法2BeanFactory 两种方式都能获取区别在后面讲解~ 上下文对象 上下文Context在一般语境下指的是某个事件、问题或情况发生的背景和环境。它是指在特定的时间、地点或条件下所处的整体情况、状态或背景。上下文对象是指在特定环境中包含了相关信息和状态的对象。它提供了在该环境中执行操作所需的上下文信息。 在这里的话就是蕴含了容器存储的Bean对象的信息~ 不好理解上下文对象那你就理解成IoC容器管理器~ 3.3.2 通过Spring的上下文对象获取一个指定的Bean对象 这里填的就是Bean对象的名字也就是在配置文件中的id~ 但是这个方法返回的结果是Object类型需要强制类型转化 或者用类对象作为参数 返回这个类的一个Bean对象 但是运行时错误 字面意思就是不唯一Bean定义异常 确实如此有两个UserService的Bean对象 最好的一种方法就是传两个参数一个id一个类对象 3.3.3 使用Bean对象 public static void main(String[] args) {//1. 得到Spring的上下文对象ApplicationContext applicationContext new ClassPathXmlApplicationContext(spring-config.xml);//2. 得到Bean // UserService userService (UserService) applicationContext.getBean(user);UserService userService applicationContext.getBean(user, UserService.class);//3. 使用BeanuserService.sayHi(); }3.3.4 验证懒加载-两种获取Bean对象的方法的区别 我们在UserService的构造方法上添上一笔 注释一些代码 运行 对于ApplicationContext是一种全加载的方式 对于BeanFactory则是一种懒加载的方式 所以我们在回答问题的时候要这样 相同点都是容器的管理对象都能获取Bean对象 区别 ApplicationContext是BeanFactory的一个子类子孙之一 因此ApplicationContext拥有更多的功能 国际化支持资源访问支持事件传播支持… 加载机制不同 BeanFactory比较老在之前资源匮乏所以要珍惜资源所以懒加载可以节省资源 启动快后期的获取慢 ApplicationContext则是现在资源不成问题配置文件全部一起加载也无妨~ 启动慢后期的获取快 而以上IoC机制的实现就是DL依赖查找的方式就是通过给定的配置文件在配置文件中的beans里查找Bean对象的声明找到对象并返回~ 文章到此结束谢谢观看 可以叫我 小马我可能写的不好或者有错误但是一起加油鸭 本文代码链接SpringDemo1 · 游离态/马拉圈2023年7月 - 码云 - 开源中国 (gitee.com) 可见这样子做获得一个对象太麻烦了下一篇文章教你简单的存储和获取Bean对象并且结合DI~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/918215.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

apt 还是 uv

一句话结论装系统级软件(C/CUDA、驱动、编译链) → 用 apt 纯 Python 项目/虚拟环境/依赖锁文件 → 用 uv;它比 apt 里的 python3-xxx 新、快、隔离,但不能装非 Python 组件下面给你展开对比,按“能干什么、不能干…

软件构造中的数据处理(sql) 6章

JDBC编程步骤 1.加载数据库驱动 2.建立数据库连接 3.创建Statement/PreparedStatement 4.执行SQL语句 5.处理查询结果(ResultSet) 6.关闭资源(Connection/Statement/ResultSet)

鹿鼎记豪侠传:Rust 重塑 iOS 江湖(下) - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

US$39 CAS Mileage Reset Authorization for CGDI Prog BMW MSV80 CAS1 CAS2 CAS3 CAS3+ via OBD

CAS Mileage Reset Authorization for CGDI Prog BMW MSV80 CAS1 CAS2 CAS3 CAS3+ via OBDWith this authorization, you can change mileage on BMW CAS1 CAS2 CAS3 CAS3+ CAS3++ via OBD.No need shipping. Please p…

是普通网站地图好还是rss地图好一点九江 网站建设

为增强安全性,平台可安装ssl证书。对于平台不同的组成部分需要采用不同的方式,使用不同的证书格式: 一、前端 前端采用nginx部署,安装证书步骤如下(linux window版一样): 1、conf目录下增加cert…

树的重心(邻接表)

输入样例:9 1 2 1 7 1 4 2 8 2 5 4 3 3 9 4 6期望输出:4代码实现:#include<bits/stdc++.h> using namespace std;const int N =1e5+10 , M=2*N;int n,m; int h[N],e[M],ne[M],idx; bool vis[N]; int ans=N ;v…

语音芯片怎样接? 语音芯片有哪些常见接口类型?

目录: 语音芯片怎样接? 语音芯片有哪些常见接口类型? UART接口如何实现数据传输? UART与I2C接口有何不同? UART通讯的常见故障有哪些? UART通信中时钟同步的原理: 语音芯片怎样接? 语音芯片的连接方式取决于其…

详细介绍:2025华为杯A题B题C题D题E题F题选题建议思路数学建模研研究生数学建模思路代码文章成品

详细介绍:2025华为杯A题B题C题D题E题F题选题建议思路数学建模研研究生数学建模思路代码文章成品pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…

上饶市住房和城乡建设局网站电商培训视频教程

一、分类任务 构建分类网络模型 必须继承nn.Module且在其构造函数中需调用nn.Module的构造函数无需写反向传播函数&#xff0c;nn.Module能够利用autograd自动实现反向传播Module中的可学习参数可以通过named_parameters()返回迭代器 from torch import nn import torch.nn.f…

Gitee vs. GitLab:中国开发者为何选择本土代码托管平台?

Gitee vs. GitLab:中国开发者为何选择本土代码托管平台? 在数字化转型和信创产业蓬勃发展的背景下,中国开发者正面临一个关键选择:是继续依赖国际化的GitLab,还是拥抱本土化的Gitee?作为国内最大的代码托管平台,…

AtCoder Beginner Contest 424

Atcoder 424 A-F题解A - Isosceles 核心代码: signed main() {ios::sync_with_stdio(0);cin.tie(0); cout.tie(0);int a, b, c;cin >> a >> b >> c;if(a == b || b == c || a == c) cout << …

US$39 BAV-Key Adapter for Yanhua Mini ACDP

BAV-Key Adapter for Yanhua Mini ACDPBAV-Key Adapter will be needed for Module 1 BMW CAS1-CAS4+, Modul 9 Land Rover and Module10 for Porsche.Package List:1pc x BAV-Key Adapter for Yanhua Mini ACDP Pictu…

可以放钓鱼网站的免费空间做一个网站以及app多少钱

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 孤立词识别是语音识别领域的一个重要分支&#xff0c;其目标是将输入的语音信号转换为计算机可…

ClkLog埋点分析系统-私有化部署+轻量灵活

ClkLog 自发布以来已有两年时间。从最初的社区版,到如今不断迭代出专业版与企业版,我们一直紧跟用户需求,不断优化产品,只为做出真正“小而美、好上手、落地快”的用户行为分析系统。在ClkLog 2.0 版本发布之际,我…

级数 - Emi

几何级数定义:每一项乘以一个固定的数得到下一项(不就是等比级数?) 求和: $$S_n=\frac{a(1-r^n)}{1-r}$$ 这里\(S_n\)是前\(n\)项的和, \(a\) 是第一项, r 是公比. 然后呢,整个级数的和就是前\(n\)项和取\(n\)趋近…

基于 Docker 的 Nginx + OpenSSL 自签名证书启用 HTTPS

基于 Docker 的 Nginx + OpenSSL 自签名证书启用 HTTPS(按步骤、可直接复制)目标:在没有域名的情况下,基于 Docker 部署 Nginx,使用 OpenSSL 生成自签名证书,启用 https://<你的公网IP> 访问。 适用:开发…

PolarFire Soc System Services

PolarFire Soc System ServicesPolarFire Family System Services User Guide1、读取 序列号 16 个字节 status = MSS_SYS_get_serial_number(data_buffer, MSS_SYS_MAILBOX_DATA_OFFSET);xprintf_hex( "devic…

抄袭的网站wordpress 授权插件

引言&#xff1a;中小企业推进数字化转型的背景是多重因素叠加的结果&#xff0c;包括市场竞争压力、信息技术发展及普及、各级政府政策支持及引导、企业经营发展需求和人才结构变化等。这些因素共同推动了中小企业加快数字化转型的步伐&#xff0c;以应对日益复杂多变的市场环…

网站建设视频下载哈尔滨seo优化专注

文章目录 前言一、MyBatis 与 Hibernate 有哪些不同&#xff1f;二、MyBatis 的好处是什么&#xff1f;三、简述 Mybatis 的 Xml 映射文件和 Mybatis 内部数据结构之间的映射关系&#xff1f;四、什么是 MyBatis 的接口绑定,有什么好处&#xff1f;五、接口绑定有几种实现方式,…

基于STM32的正弦波逆变器设计

一、系统架构设计 graph TD A[输入电源] --> B[输入滤波电路] B --> C[DC-DC升压模块] C --> D[SPWM生成模块] D --> E[全桥逆变电路] E --> F[LC滤波电路] F --> G[输出保护电路] G --> H[负载]…