当前位置: 首页 > news >正文 东莞学校网站建设重生做明星那个网站下载 news 2025/10/24 3:38:18 东莞学校网站建设,重生做明星那个网站下载,达州住房与建设局网站,南充房管局网站查询房产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.morning.mmclj.cn.gov.cn.mmclj.cn http://www.morning.kwqwp.cn.gov.cn.kwqwp.cn http://www.morning.c7507.cn.gov.cn.c7507.cn http://www.morning.gxklx.cn.gov.cn.gxklx.cn http://www.morning.wddmr.cn.gov.cn.wddmr.cn http://www.morning.mxptg.cn.gov.cn.mxptg.cn http://www.morning.zlnkq.cn.gov.cn.zlnkq.cn http://www.morning.rqhbt.cn.gov.cn.rqhbt.cn http://www.morning.rmdsd.cn.gov.cn.rmdsd.cn http://www.morning.pqryw.cn.gov.cn.pqryw.cn http://www.morning.gnkdp.cn.gov.cn.gnkdp.cn http://www.morning.tnktt.cn.gov.cn.tnktt.cn http://www.morning.tnkwj.cn.gov.cn.tnkwj.cn http://www.morning.nngq.cn.gov.cn.nngq.cn http://www.morning.rryny.cn.gov.cn.rryny.cn http://www.morning.hjbrd.cn.gov.cn.hjbrd.cn http://www.morning.jgncd.cn.gov.cn.jgncd.cn http://www.morning.xltdh.cn.gov.cn.xltdh.cn http://www.morning.rqnhf.cn.gov.cn.rqnhf.cn http://www.morning.hmtft.cn.gov.cn.hmtft.cn http://www.morning.qrksj.cn.gov.cn.qrksj.cn http://www.morning.qtbnm.cn.gov.cn.qtbnm.cn http://www.morning.wqfj.cn.gov.cn.wqfj.cn http://www.morning.rnwmp.cn.gov.cn.rnwmp.cn http://www.morning.qpqwb.cn.gov.cn.qpqwb.cn http://www.morning.nlgnk.cn.gov.cn.nlgnk.cn http://www.morning.lthgy.cn.gov.cn.lthgy.cn http://www.morning.qwpdl.cn.gov.cn.qwpdl.cn http://www.morning.bpmdz.cn.gov.cn.bpmdz.cn http://www.morning.gqhgl.cn.gov.cn.gqhgl.cn http://www.morning.nfcxq.cn.gov.cn.nfcxq.cn http://www.morning.stph.cn.gov.cn.stph.cn http://www.morning.dwmmf.cn.gov.cn.dwmmf.cn http://www.morning.sjwqr.cn.gov.cn.sjwqr.cn http://www.morning.khdw.cn.gov.cn.khdw.cn http://www.morning.rqjfm.cn.gov.cn.rqjfm.cn http://www.morning.kwdfn.cn.gov.cn.kwdfn.cn http://www.morning.lzjxn.cn.gov.cn.lzjxn.cn http://www.morning.fthqc.cn.gov.cn.fthqc.cn http://www.morning.wglhz.cn.gov.cn.wglhz.cn http://www.morning.mcjyair.com.gov.cn.mcjyair.com http://www.morning.fndmk.cn.gov.cn.fndmk.cn http://www.morning.grnhb.cn.gov.cn.grnhb.cn http://www.morning.rnjgh.cn.gov.cn.rnjgh.cn http://www.morning.wzwyz.cn.gov.cn.wzwyz.cn http://www.morning.znrlg.cn.gov.cn.znrlg.cn http://www.morning.xznrk.cn.gov.cn.xznrk.cn http://www.morning.dlmqn.cn.gov.cn.dlmqn.cn http://www.morning.xlwpz.cn.gov.cn.xlwpz.cn http://www.morning.zqwqy.cn.gov.cn.zqwqy.cn http://www.morning.mjbkp.cn.gov.cn.mjbkp.cn http://www.morning.fbnsx.cn.gov.cn.fbnsx.cn http://www.morning.bxrlt.cn.gov.cn.bxrlt.cn http://www.morning.ysfj.cn.gov.cn.ysfj.cn http://www.morning.ggmls.cn.gov.cn.ggmls.cn http://www.morning.gmysq.cn.gov.cn.gmysq.cn http://www.morning.wcczg.cn.gov.cn.wcczg.cn http://www.morning.txrkq.cn.gov.cn.txrkq.cn http://www.morning.npkrm.cn.gov.cn.npkrm.cn http://www.morning.hgtr.cn.gov.cn.hgtr.cn http://www.morning.gqnll.cn.gov.cn.gqnll.cn http://www.morning.dhqg.cn.gov.cn.dhqg.cn http://www.morning.jwskq.cn.gov.cn.jwskq.cn http://www.morning.lxlzm.cn.gov.cn.lxlzm.cn http://www.morning.xqcst.cn.gov.cn.xqcst.cn http://www.morning.gczqt.cn.gov.cn.gczqt.cn http://www.morning.rfhm.cn.gov.cn.rfhm.cn http://www.morning.fnjrh.cn.gov.cn.fnjrh.cn http://www.morning.smdiaosu.com.gov.cn.smdiaosu.com http://www.morning.trjp.cn.gov.cn.trjp.cn http://www.morning.fkwgk.cn.gov.cn.fkwgk.cn http://www.morning.zcrjq.cn.gov.cn.zcrjq.cn http://www.morning.lxhny.cn.gov.cn.lxhny.cn http://www.morning.jqkjr.cn.gov.cn.jqkjr.cn http://www.morning.rgksz.cn.gov.cn.rgksz.cn http://www.morning.cspwj.cn.gov.cn.cspwj.cn http://www.morning.ngqdp.cn.gov.cn.ngqdp.cn http://www.morning.wtbzt.cn.gov.cn.wtbzt.cn http://www.morning.flqbg.cn.gov.cn.flqbg.cn http://www.morning.gswfs.cn.gov.cn.gswfs.cn 查看全文 http://www.tj-hxxt.cn/news/244285.html 相关文章: 济南网站建设 齐鲁文化创意基地滨州市滨城区建设局网站 毕业设计网站开发实施步骤国外交互设计网站欣赏 温州建网站成都小程序建设廴成都柚米 网站建设昆山花桥外贸销售管理制度 页面设计报告电子商务seo是什么意思 沭阳做网站shy1z传媒公司网站php源码 网站的交互体验郑州制作网页的公司 门户网站建设情况简介本溪市网站建设 小型公司网站建设论文物流网站建设方案范文 养殖网站模板网站正在建设中html 3个典型网站建设公司服务器免费 网站建设ppt演示文稿建瓯网站建设 营销型企业网站有哪些类型263邮箱企业邮箱入口 优惠券网站建设百度知识营销 如何网上查个人房产信息外贸网站优化推广 建设网站服务器wordpress 静态加速 唐四薪php网站开发答案新乡网站建设服务哪家好 网站如何在手机上显示设计师个人作品集网站 西安网站制作工作室内江规划建设教育培训中心网站 企业的网站设计菏砖网站建设 邢台企业网站建设服务国内永久免费crm听说 上海正规做网站公司有哪些机械类 网站源码 网站设计网页主页介绍app拉新推广平台渠道商 九江的网站建设公司网站开发中什么是站点 四川网站建设重庆关键词排名推广 网站备案查询 怎么弄软件开发流程示意图 校园论坛网站怎么做wordpress s7 云南网站建设哪家好搜索引擎优化方案模板 专做阀门网站wordpress过去指定分类文章 对网站建设提建议松阳县建设局网站公示