JAVA学习笔记DAY6——SSM_Spring

文章目录

技术体系结构

单体架构

  1. 表述层(控制层) SpringMVC(针对Tomcat ___Servlet)
  2. 业务逻辑层 Spring【不止针对业务层,但着重于业务逻辑层】(针对JavaSE)
  3. 持久化层(数据库) Mybatis(对JDBC的封装)

分布式架构

一个项目project拆分成多个模块module。
SpringBoot 是SSM的一种简化,快速创建服务。
SpringCloud用来维护不同服务的相互调用。

框架 Framework

从文件结构的角度看,框架=jar包+配置文件

SpringIoc容器和核心概念

组件

组件就是可以复用 的Java对象 。

eg.

控制层组件 Servlet

业务逻辑层 Service

持久化层组件 Dao

Spring管理组件优点

  1. 降低耦合性
  2. 提高代码的可重用性
  3. 方便配置和管理
  4. 交给Spring管理的对象(组件),可以享受Spring其他功能

Spring Ioc 容器和容器实现

普通容器

数组集合等

复杂容器

例如Servlet容器,Spring Ioc容器自然也是复杂容器

SpringIoc容器具体接口和实现类

  • BeanFactory 是最基本的。规定了ioc容器的基本动作。
  • ApplicationContext 是BeanFactory的子接口。做了一些拓展动作。 aop/web
    • ClassPathXmlApplicationContext
      1. 配置文件是xml格式
      2. 项目的类路径下 resources
    • FileSystemXmlApplicationContext
      1. 配置文件时xml格式
      2. 文件存储到项目外
    • WebApplicationContext
      web项目对应
    • AnnotationConfigApplicationContext
      配置文件使用Java类。

SpringIoc 容器管理配置方式

配置方式包括三种:xml、注解、配置类

SpringIoc Ioc DI

Ioc 控制反转

DI 依赖注入

Spring Ioc 实践和应用

Spring Ioc创建步骤

  1. 编写配置信息(组件类信息,组件之间的引用关系)
  2. 实例化ioc容器
  3. 如何在Java代码中获取组件

配置信息

实例化
  • 构造函数实例化------new
    • 无参数构造函数
    • 有参数构造函数
  • 工厂模式实例化------方法
    • 静态工厂
    • 非静态工厂

DI 依赖注入

单个构造函数参数
java 复制代码
<bean id="userDao" class="com.atguigu.ioc_02.UserDao" />
<bean id="userService" class="com.atguigu.ioc_09.UserService">
	<constructor-arg ref="userDao"/>
</bean>
多个构造参数
Setter方法

Ioc容器创建

相关推荐
~kiss~4 小时前
A Survey of On-Policy Distillation for LLMs 学习(一)
学习
Pniubi5 小时前
怎么排查慢SQL,怎么解决?
java·数据库·sql
一只大鸽子6 小时前
游戏开发笔记4-像素画基础 轮廓-直线和曲线
笔记
薛之谦_6 小时前
Java 全栈知识体系:从 IDEA 高效开发到 JVM、并发与 Stream 实战
java·jvm·intellij-idea
小杨小杨、努力变强!6 小时前
python学习笔记
笔记·学习
杨逢昌工厂6S管理9 小时前
150-杨逢昌一线现场诊断笔记:越管一线越抵触背后的熵增机理与基准化治理
经验分享·笔记·职场和发展·学习方法
文丑颜不良啊10 小时前
LeetCode2761~2780题目解析
java·leetcode
IT枫斗者枫哥10 小时前
子线程断言失败,JUnit 为什么还显示通过?
java·后端
Star(up up up)12 小时前
Redis Windows 安装教程:使用Windows 的 Redis 压缩包
redis·笔记·学习·程序人生·云原生·学习方法·改行学it
希和202712 小时前
江科大 51 单片机课程笔记:DS1302 实时时钟 + LCD1602 可调电子钟(小白逐行讲解)
笔记·单片机·嵌入式硬件