码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Spring基础(二):IOC概念引入


    文章目录

    IOC概念引入

    Spring解耦合的原理

    1、创建maven项目,设置maven

    2、pom.xml中导入spring依赖 

    3、在项目中定义一个接口和实现类

    2、接口中定义一个方法并在实现类中实现

    4、创建spring配置文件

    5、测试通过容器获取对象


    IOC概念引入

    简单的说就是,创建对象的权利,或者是控制的位置,由JAVA代码转移到spring容器,由spring的容器控制对象的创建,就是控制反转,spring创建对象时,会读取配置文件中的信息,然后使用反射给我们创建好对象之后在容器中存储起来,当我们需要某个对象时,通过id获取对象即可,不需要我们自己去new.

    一句话:创建对象交给容器

    Spring解耦合的原理

    图解

    1、创建maven项目,设置maven

    先创建一个空项目

     

    名字可以是spring_all

    在项目下创建模块 名字可以是spring_test_01 

     

    2、pom.xml中导入spring依赖 

    1. <dependencies>
    2. <dependency>
    3. <groupId>org.springframeworkgroupId>
    4. <artifactId>spring-coreartifactId>
    5. <version>5.3.5version>
    6. dependency>
    7. <dependency>
    8. <groupId>org.springframeworkgroupId>
    9. <artifactId>spring-beansartifactId>
    10. <version>5.3.5version>
    11. dependency>
    12. <dependency>
    13. <groupId>org.springframeworkgroupId>
    14. <artifactId>spring-contextartifactId>
    15. <version>5.3.5version>
    16. dependency>
    17. <dependency>
    18. <groupId>org.springframeworkgroupId>
    19. <artifactId>spring-expressionartifactId>
    20. <version>5.3.5version>
    21. dependency>
    22. dependencies>

     

    四个依赖介绍

    • spring-context      上下文,容器
    • spring-beans         创建对象
    • spring-core            核心jar
    • spring-expression 表达式jar

    但是事实上,我们导入spring-context的时候,会自动导入其他依赖的jar,自动进行了依赖传递

    所以,导入一个spring-context 依赖也可以

    依赖传递关系图如下

     

    为了方便测试,我们导入Junit测试依赖

    1. <dependency>
    2. <groupId>junitgroupId>
    3. <artifactId>junitartifactId>
    4. <version>4.13.1version>
    5. <scope>testscope>
    6. dependency>

    3、在项目中定义一个接口和实现类

    EmpDao接口和实现类

    2、接口中定义一个方法并在实现类中实现

    接口

    实现类

     

    在spring配置容器中的对象

    4、创建spring配置文件

    文件名没有明确要求,暂时可以叫spring

    在spring.xml中配置一个需要由容器初始化的对象

    5、测试通过容器获取对象


    • 📢博客主页:https://lansonli.blog.csdn.net
    • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
    • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
    • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
  • 相关阅读:
    Java开发 - Canal进阶之和Redis的数据同步
    STFT:解决音频-视频零样本学习 (ZSL) 中的挑战
    WPF使用Blazor的快速案例
    (JVM)运行时数据区的总结以及常见大厂面试题
    C++的强制类型转换简介
    HTTP 响应头Cache-Control
    Flink技术灵活使用总结(一)状态与状态后端
    Baumer工业相机堡盟工业相机如何使用BGAPISDK生成视频(C++)
    An Information-Theoretic Framework for Semi-Supervised Multi-Modality Learning
    求解多旅行推销员问题的两部分编码遗传算法算子
  • 原文地址:https://blog.csdn.net/xiaoweite1/article/details/126281639
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号