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容器创建

相关推荐
摇滚侠20 小时前
Spring Boot 3零基础教程,创建第一个 Spring Boot 3 应用,Spring Boot 3 外部配置,笔记03
java·spring boot·笔记
没有bug.的程序员1 天前
服务网格 Service Mesh:微服务通信的终极进化
java·分布式·微服务·云原生·service_mesh
谷歌开发者1 天前
Web 开发指向标 | Chrome 开发者工具学习资源 (一)
前端·chrome·学习
南尘NCA86661 天前
企业微信防封防投诉拦截系统:从痛点解决到技术实现
java·网络·企业微信
怪兽20141 天前
SQL优化手段有哪些
java·数据库·面试
ss2731 天前
手写MyBatis第107弹:@MapperScan原理与SqlSessionTemplate线程安全机制
java·开发语言·后端·mybatis
本郡主是喵1 天前
用 TypeScript 进行 Truffle 测试
学习·区块链
Deschen1 天前
设计模式-原型模式
java·设计模式·原型模式
麦麦鸡腿堡1 天前
Java的动态绑定机制(重要)
java·开发语言·算法