当前位置: 首页 > 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.xdnf.cn/news/1123489.html

相关文章:

  • Datawhale AI夏令营-基于带货视频评论的用户洞察挑战赛
  • AI Linux 运维笔记
  • Imx6ull用网线与电脑连接
  • 使用 pytest 测试框架构建自动化测试套件之一
  • ethers.js-5–和solidity的关系
  • pytorch学习1(DataSet+Transforms+TensorBoard)
  • LeetCode 692题解 | 前K个高频单词
  • 工业软件加密锁复制:一场技术与安全的博弈
  • Lovable - AI 驱动的全栈应用开发平台
  • PyTorch张量(Tensor)创建的方式汇总详解和代码示例
  • [笔记] 动态 SQL 查询技术解析:构建灵活高效的企业级数据访问层
  • Linux:1_Linux下基本指令
  • TCP心跳机制详解
  • 使用axios向服务器请求信息并渲染页面
  • 如何在服务器上运行一个github项目
  • K8S的平台核心架构思想[面向抽象编程]
  • docker私有仓库
  • Ai问答之空间站星等
  • 【科研绘图系列】R语言绘制世界地图
  • C++ 中常见的字符串定义方式及其用法
  • 使用Java完成下面项目
  • 解决chrome v2 版本插件不支持
  • uni-app在安卓设备上获取 (WIFI 【和】以太网) ip 和 MAC
  • C语言-数据输入与输出
  • java学习 day4 分布式锁
  • 【Learning Notes】 Derak Callan‘s Business English P38~40
  • 【【异世界历险之数据结构世界(二叉树)】】
  • Why C# and .NET are still relevant in 2025
  • 安装Keycloak并启动服务(macOS)
  • 4.2TCP/IP