首页 > 编程语言 >Java 框架

Java 框架

时间:2024-02-01 17:22:42浏览次数:23  
标签:容器 依赖 Java 框架 DI Spring IoC

框架是整个或者部分系统的可重用设计,从应用角度看框架,可以被当作一组抽象构建及构件实例间交互的方法;从应用目的的角度看,

Spring

Spring 定义

Spring 通常指的是 Spring Framework,它是一个开源框架。Spring 是包含众多工具方法的 IoC容器。

什么是容器

容器时用来容纳某种物品的基本装置。 List/Map -> 数据存储容器, Tomcat -> Web 容器

什么是 IoC

loC = Inversion of Control,表示“控制反转”。
也就是说:Spring 是一个“控制反转”的容器。

Spring 的核心功能

Spring 作为 IoC容器,具有最基础的功能:

  • 将对象存入容器
  • 从容器中取出对象

DI 的定义

DI是 Dependency Injection 的缩写,翻译成中文是“依赖注入”的意思。

什么是依赖注入

依赖注入谁由 IoC容器在运行期间,动态地将某种依赖关系注入到对象之中。

DI 和 IoC 的区别

image

依赖注入(DI)和控制反转(IoC)是从不同的角度描述的同一件事。
就是指:通过引入 IoC容器,利用依赖注入的方式,实现对象之间的解耦。
IoC 是一种思想,DI 是具体的实现技术。

MyBatis 框架

标签:容器,依赖,Java,框架,DI,Spring,IoC
From: https://www.cnblogs.com/wen-li/p/18001685

相关文章

  • Java面向对象程序设计——带异常处理的person类
    带异常处理的person类【问题描述】定义一个Person类,属性包含姓名、年龄。方法:无参构造方法、有参构造方法、getter和setter方法、toString方法。其中:setter方法在设置年龄的时候,要求对年龄进行参数的正确性检测,年龄有效范围在1-100之间,否则抛出IllegalArgumentException异常【输......
  • Java并发基础:CyclicBarrier全面解析!
    内容摘要CyclicBarrier的优点在于实现了线程间的相互等待与协同,确保所有线程在达到预定屏障点后才能继续执行,它支持屏障的重复使用,非常适合多轮次的任务同步,此外,CyclicBarrier还允许在屏障点执行特定操作,为复杂的多线程协作提供了便利。核心概念业务场景CyclicBarrier允许一组......
  • java学习02
    可以用_和字母和$作为标识符开头,特殊字符不能出现在名字中、float和long类型要在赋值后面加上大写首字母最好避免使用浮点数进行比较,因为浮点数是离散的数,接近但不等于使用时会出问题char字符本质都是数字,通过int类型转换可以知道/u0000可以输出起点/uffff是char终点使用下......
  • Java和JavaScript区别与联系
    JavaScript和java属于两门语言。参考了java语言,“看上去与Java足够相似,但是比Java简单”,是简化版Java语言。特别是在定义对象变量的时候,省略的太极端了。java里有的很多常用类型的对象在js中是没有的。JavaScript由原网景(Netscape)公司的高级工程师布兰登·艾奇(BrendanEich)(曾经的M......
  • 在Java中重写hashCode()方法
    而在重写equals()方法时,总要重写hashCode()方法,原因总结下有以下两点:1.使用hashcode方法提前校验,可以避免每一次比对都调用equals方法,提高效率2.保证是同一个对象,如果重写了equals方法,而没有重写hashcode方法,会出现equals相等的对象,hashcode不相等的情况,重写hashcode方法就是为了......
  • 深入浅出Java多线程(五):线程间通信
    引言大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第五篇内容:线程间通信。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!!在现代编程实践中,多线程技术是提高程序并发性能、优化系统资源利用率的关键手段。Java作为主流的多线程支持语言,不仅提供了丰富的......
  • 基于Java+Neo4j开发的知识图谱+全文检索的知识库管理系统(源码分析)
    在数字化高度普及的时代,企事业机关单位在日常工作中会产生大量的文档,例如医院制度汇编,企业知识共享库等。针对这些文档性的东西,手工纸质化去管理是非常消耗工作量的,并且纸质化查阅难,易损耗,所以电子化管理显得尤为重要。【springboot+elasticsearch+neo4j+vue+activiti】实现数字......
  • java8计算日期
    java8使用时间计算publicstaticvoidmain(String[]args){LocalDatelocalDate=LocalDate.now();//1.获取周日LocalDatewith=localDate.with(DayOfWeek.SUNDAY);System.out.println(with);//2.获取本月最后一天......
  • Linux系统之安装java开发环境
    Linux系统之安装java开发环境 检查本地系统环境1.检查系统版本检查本地系统版本,本次实践使用的是centos7.6版本。[root@jeven~]#cat/etc/centos-releaseCentOSLinuxrelease7.6.1810(Core)2.检查系统内核版本检查系统内核版本[root@jeven~]#uname-r6.1.8-1.el......
  • Java并发基础:Phaser全面解析!
    内容概要Phaser是Java中一个灵活的同步工具,其优点在于支持多阶段的任务拆分与同步,并且能够动态地注册与注销参与者,它提供了丰富的等待与推进机制,使得开发者能够更细粒度地控制线程的协调行为,实现复杂的并行任务处理,相比于其他同步工具,Phaser更加灵活且易于扩展,适用于多种并发场景......