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

相关推荐
蓝婷儿几秒前
6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础
开发语言·python·学习
网安INF19 分钟前
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
java·web安全·网络安全·flink·漏洞
一叶知秋哈19 分钟前
Java应用Flink CDC监听MySQL数据变动内容输出到控制台
java·mysql·flink
叶子20242221 分钟前
学习使用YOLO的predict函数使用
人工智能·学习·yolo
jackson凌25 分钟前
【Java学习笔记】SringBuffer类(重点)
java·笔记·学习
sclibingqing30 分钟前
SpringBoot项目接口集中测试方法及实现
java·spring boot·后端
程序员JerrySUN34 分钟前
全面理解 Linux 内核性能问题:分类、实战与调优策略
java·linux·运维·服务器·单片机
糯米导航38 分钟前
Java毕业设计:办公自动化系统的设计与实现
java·开发语言·课程设计
糯米导航41 分钟前
Java毕业设计:WML信息查询与后端信息发布系统开发
java·开发语言·课程设计
米粉03051 小时前
深入剖析Nginx:从入门到高并发架构实战
java·运维·nginx·架构