码农知识堂 - 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博客🙉
    • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
  • 相关阅读:
    【API篇】六、Flink输出算子Sink
    web前端 html+css+javascript 绿色的随行旅游网页设计实例 企业网站制作
    redisson springboot配置
    二分图匹配(匈牙利算法 DFS 实现)
    JS10day(api 阶段性完结,正则表达式简介,过滤敏感词案例,注册模块验证案例)
    阿里云 短信服务——短信发送频率限制
    0DFS中等 LeetCode6134. 找到离给定两个节点最近的节点
    Android应用程序启动源码浅析-(三万字长文慎点&Android14)
    介绍grpc
    C++ 内存模型
  • 原文地址:https://blog.csdn.net/xiaoweite1/article/details/126281639
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号