当前位置: 首页 > news >正文

SSM框架学习——day1

SSM框架概述

SSM框架是Java开发中常用的组合框架,由Spring、Spring MVC和MyBatis三个开源框架整合而成。主要用于构建企业级Web应用程序,具有轻量级、模块化、易扩展等特点。

Spring框架作为核心,提供依赖注入(DI)和面向切面编程(AOP)功能,管理对象生命周期和配置。Spring MVC是基于Spring的Web框架,处理HTTP请求和响应,实现MVC架构。MyBatis是持久层框架,简化数据库操作,通过XML或注解配置SQL映射。

SSM框架核心组件

Spring框架提供IoC容器,管理应用组件及其依赖关系。通过注解如@Autowired实现依赖注入,@Component标识组件。AOP支持日志、事务等横切关注点的模块化处理。

Spring MVC通过DispatcherServlet前端控制器分发请求,@Controller处理请求并返回视图。支持RESTful风格,@RequestMapping定义URL映射。

MyBatis通过SqlSessionFactory创建会话,Mapper接口与XML文件绑定。动态SQL、缓存机制简化数据库交互,避免手动处理JDBC代码。

SSM框架整合配置

整合SSM需配置web.xml初始化Spring容器和Spring MVC。Spring配置文件定义数据源、事务管理器、MyBatis整合等。MyBatis配置SqlSessionFactoryBean,扫描Mapper接口。

<!-- Spring配置示例 -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"><property name="driverClassName" value="com.mysql.jdbc.Driver"/><property name="url" value="jdbc:mysql://localhost:3306/test"/><property name="username" value="root"/><property name="password" value="password"/>
</bean>
// MyBatis Mapper接口示例
public interface UserMapper {@Select("SELECT * FROM users WHERE id = #{id}")User selectUser(int id);
}

SSM框架优势与适用场景

SSM框架适合中小型项目,轻量级且灵活。Spring的IoC和AOP降低耦合,增强可维护性。Spring MVC简化Web开发,MyBatis提供高效的数据库操作。相比SSH(Spring+Struts+Hibernate),SSM更易上手,性能更优。

缺点在于配置较繁琐,需手动编写SQL。大型项目可考虑Spring Boot简化配置,或使用JPA替代MyBatis。

初识spring:

Spring Framework

Spring Framework 是一个开源的Java/Java EE全栈轻量级框架,提供基础设施支持。核心特性包括依赖注入(DI)和面向切面编程(AOP),简化企业级应用开发。主要模块:

  • 核心容器:Bean管理、配置(XML或注解)。
  • 数据访问:JDBC、ORM、事务管理支持。
  • Web模块:MVC框架、RESTful服务开发。
  • 集成:支持消息队列、远程调用等。

Spring Boot

Spring Boot 是 Spring Framework 的扩展,旨在简化独立、生产级Spring应用的搭建。特点:

  • 自动配置:基于依赖自动配置组件(如内嵌Tomcat)。
  • 起步依赖:通过Maven/Gradle简化依赖管理。
  • 命令行界面:支持Groovy脚本快速开发。
  • 监控:内置Actuator模块提供健康检查、指标收集。

Spring Cloud

Spring Cloud 为分布式系统开发提供工具集,基于Spring Boot的快速构建能力。核心功能:

  • 服务发现:Eureka、Consul等注册中心支持。
  • 负载均衡:Ribbon客户端负载均衡。
  • 配置中心:Spring Cloud Config集中管理配置。
  • 熔断器:Hystrix实现服务容错。
  • API网关:Zuul或Spring Cloud Gateway路由控制。

三者关系:Spring Framework为基础,Spring Boot简化单应用开发,Spring Cloud扩展至微服务架构。

spring framework系统构架(上层依赖下层)

AOP在不变源程序的基础上增强功能

耦合度的定义

耦合度(Coupling)指软件系统中模块之间相互依赖的程度。高耦合意味着模块间联系紧密,修改一个模块可能影响其他模块;低耦合则表明模块相对独立,便于维护和扩展。

核心容器(基于对象):

IOC控制反转:使用对象,由主动new转换为外部提供对象,将创建控制权由程序转移到外部

spring技术对ioc进行实现

spring提供容器,称为IOC容器,充当外部。

负责创建对象,初始化操作,被创建和管理的对象在IOC容器中统称bean

DI依赖注入

bean与bean直接的依赖关系的过程,称为依赖注入

IOC入门案例思路:

1.管理什么?(service和Dao)

2.如何将被管理的对象告知IOC容器(配置)

3.被管理的对象交给IOC容器,如何获取IOC容器(接口)

4.IOC容器得到后,如何从容其中获取bean(接口方法)

5.使用Spring导入哪些坐标(pom.xml)

 1.导入Spring坐标

 2.定义spring管理的类(接口)

 3.创建spring配置文件,配置对应类作为spring管理的bean(id不能定义重复)

4.初始化容器

ApplicationContext ctx =new ClassPathxmlApplicationContext("applicationContext.xml)";

 

http://www.dtcms.com/a/279273.html

相关文章:

  • 爬虫-爬取豆瓣top250
  • webrtc之子带分割下——SplittingFilter源码分析
  • vscode插件之markdown预览mermaid、markmap、markdown
  • 直播推流技术底层逻辑详解与私有化实现方案-以rmtp rtc hls为例-优雅草卓伊凡
  • 当 `conda list` 里出现两个 pip:一步步拆解并卸载冲突包
  • 2025年轨道交通与导航国际会议(ICRTN 2025)
  • 【数据同化案例1】ETKF求解参数-状态联合估计的同化系统(完整MATLAB实现)
  • C#结构体:值类型的设计艺术与实战指南
  • 2025年新能源与可持续发展国际会议(ICNESD 2025)
  • 非正常申请有这么多好处,为什么还要大力打击?
  • TreeSize Free - windows下硬盘空间管理工具
  • 一分钟K线实时数据数据接口,逐笔明细数据接口,分时成交量数据接口,实时五档委托单数据接口,历史逐笔明细数据接口,历史分时成交量数据接口
  • RESTful API 设计规范
  • 为什么资深C++开发者大部分选vector?揭秘背后的硬核性能真相!
  • Nginx配置信息
  • 项目进度图不直观,如何优化展示方式
  • 一种用于医学图像分割的使用了多尺寸注意力Transformer的混合模型: HyTransMA
  • SecretFlow 隐语 (2) --- 隐语架构概览
  • SQL性能调优经验总结
  • Redis缓存解决方案
  • Laravel 中 chunk 分页漏掉数据?深度解析原因与解决方案
  • 深度剖析:动态接口代理核心原理与高级应用
  • 工业4.0时代的安全管理:2025年物联网与AI技术的融合与10+工具实践
  • NSSCTF Web 一点学习
  • 高安全前端架构:Rust-WASM 黑盒技术揭秘
  • 机器学习、深度学习、神经网络之间的关系
  • Binder 概述
  • Linux操作系统从入门到实战(七)详细讲解编辑器Vim
  • 第二章 uniapp实现兼容多端的树状族谱关系图,封装tree-item子组件
  • 自学鸿蒙测试day0