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

相关推荐
希望永不加班13 分钟前
SpringBoot 自动配置类加载顺序与优先级
java·spring boot·后端·spring·mybatis
纸鸢|31 分钟前
从“一锤子买卖“到“持续价值共生“:物联网软件产品如何做到“叫好又叫座“
java·物联网·struts
qq_571099351 小时前
学习周报四十
学习
云霄IT1 小时前
安卓开发之java转dex再转smali
android·java·python
用户6688599847662 小时前
BCrypt密码加密
java
赵药师2 小时前
多进程-生产者消费者C++实现
java·开发语言·jvm
Flittly2 小时前
【SpringAIAlibaba新手村系列】(16)调用百度 MCP 服务
java·笔记·spring·ai·springboot
byzh_rc2 小时前
[AI编程从入门到入土] 配置文件
java·数据库·ai编程
花千树-0102 小时前
多步骤 ReAct 实战:让 Agent 自主完成航司比价与订票
java·agent·function call·react agent·harness·j-langchain·多步骤推理
xcLeigh2 小时前
飞算 JavaAI 进阶实战:从代码生成到系统架构优化的全流程指南
java·系统架构·代码生成·java开发·飞算javaai炫技赛·javaai·飞算