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

相关文章:

  • MySQL窗口函数详讲
  • VUE3 添加长按手势
  • Web 前端面试
  • C++-linux 7.文件IO(一)系统调用
  • Day34 Java方法05 可变参数
  • OSPF高级特性之GR
  • 现有医疗AI记忆、规划与工具使用的创新路径分析
  • 【Java笔记】七大排序
  • Android Studio C++/JNI/Kotlin 示例 二
  • 清除 Android 手机 SIM 卡数据的4 种简单方法
  • 如何将数据从一部手机传输到另一部手机?
  • SSH 登录失败,封禁IP脚本
  • Oracle 学习笔记
  • 【橘子分布式】Thrift RPC(理论篇)
  • LINUX714 自动挂载/nfs;物理卷
  • 基于STM32的智能抽水灌溉系统设计(蓝牙版)
  • 前端开发中的常见问题及解决方案
  • 数据结构——优先队列(priority_queue)的巧妙运用
  • 渗透第一次总结
  • 【Python办公】Python如何批量提取PDF中的表格
  • 前端基础之《Vue(22)—安装MongoDB》
  • 【Java EE初阶 --- 网络原理】初识网络
  • 第十七节:第五部分:网络通信:TCP通信-支持与多个客户端同时通信
  • 如何使用Cisco DevNet提供的免费ACI学习实验室(Learning Labs)?(Grok3 回答)
  • 笔试——Day6
  • CISSP知识点汇总- 通信与网络安全
  • 内部文件审计:企业文件服务器审计对网络安全提升有哪些帮助?
  • 密码学中立方攻击的另类应用
  • 安全初级(一)
  • 多租户云环境下的隔离性保障:虚拟化、容器、安全组如何协同防护?