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

相关推荐
深度学习入门2 分钟前
学习深度学习是否要先学习机器学习?
人工智能·深度学习·神经网络·学习·机器学习·ai·深度学习入门
FAREWELL0007521 分钟前
Unity基础学习(十五)核心系统——音效系统
学习·unity·c#·游戏引擎
lwewan22 分钟前
26考研408目录汇总~
笔记·考研
秋野酱22 分钟前
Spring Boot 项目的计算机专业论文参考文献
java·spring boot·后端
岁岁岁平安23 分钟前
Vue3学习(组合式API——Watch侦听器、watchEffect()详解)
前端·javascript·vue.js·学习·watch侦听器·组合式api
ljt272496066130 分钟前
Compose笔记(二十三)--多点触控
笔记·android jetpack
士别三日&&当刮目相看30 分钟前
数据结构*优先级队列(堆)
java·数据结构
香饽饽~、35 分钟前
【第二篇】 初步解析Spring Boot
java·spring boot·后端
坎布里奇1 小时前
java -jar命令运行 jar包时如何运行外部依赖jar包
java·pycharm·jar
虾球xz1 小时前
游戏引擎学习第281天:在房间之间为摄像机添加动画效果
c++·人工智能·学习·游戏引擎