学习java第三十七天

Spring的优势

1.方便解耦,简化开发:通过spring的ioc容器,将对象间的依赖关系交由Spring进⾏控制,避免硬编码所造成的

过度程序耦合,⽤户也不必再为单例模式类、属性⽂件解析等这些很底层的需求编写代码,可以更专注于上层的应⽤。

  1. AOP编程的⽀持: 通过Spring的AOP功能,⽅便进⾏⾯向切⾯的编程,许多不容易⽤传统OOP实现的功能可以通过

AOP轻松应付。

3.声明式事务的支持:@Transactional 可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式⽅式灵活的进⾏事务的管理,提⾼开发效率和质量。

4.方便程序的测试

5.方便集成各种框架

6.降低Javaee api的使用难度

Spring框架的IOC实现三种方式

  1. 纯xml方式

  2. Xml加注解方式

上面两种方式加载相同:JavaEE应用通过new ClassPathXmlApplicationContext("beas.xml")或者new FileSystemXmlApplicationContext("c:beans.xml")加载;JavaWeb应用通过ContextLoaderListener(监听器去加载xml)

  1. 纯注解方式

加载方式:JavaEE应用通过new AnnotationConfigApplicationContext(SpringConfig.class); JavaWeb应用通过ContextLoaderListener(监听器去加载注解配置类)

BeanFactory与ApplicationCentext区别

BeanFactory是Spring框架IOC容器顶层接口,定义了基础功能和规范,而ApplicationContect是他的子接口,不仅具备了他的所有功能,并且还对他进行扩展,支持了更多的功能,实现面向接口开发原则。

相关推荐
结衣结衣.13 小时前
【Linux】命名管道的妙用:实现进程控制与实时字符交互
linux·运维·开发语言·学习·操作系统·交互
red_redemption13 小时前
自由学习记录(151)
学习
好家伙VCC13 小时前
**CQRS模式实战:用Go语言构建高并发读写分离架构**在现代分布式系统中,随着业务复杂度的提升和用户量的增长,传统的单数据库模型逐
java·数据库·python·架构·golang
fy1216313 小时前
Java进阶——IO 流
java·开发语言·python
二妹的三爷13 小时前
Node.JS 版本管理工具 Fnm 安装及配置(Windows)
java
cngkqy13 小时前
NoClassDefFoundError: org/apache/poi/logging/PoiLogManager
java
程序喵大人13 小时前
C++依赖关系分析:5个工具理清模块关系
开发语言·c++
charlie11451419113 小时前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(3)WSL2 USB 透传,让 ST-Link 穿越虚拟化边界
c++·stm32·单片机·学习·嵌入式
l1o3v1e4ding13 小时前
Java网站项目集成GO-FLY开源在线客服系统功能,集成IM即时通信
java·golang·开源