长文详解Spring5架构教程,还不懂你打我

本文详述了Spring框架的核心组成部分——IOC(控制反转)和AOP(面向切面编程),以及JdbcTemplate和事务管理。通过实例介绍了Spring的配置、对象创建和依赖注入,探讨了AOP的概念、底层原理和相关术语。此外,还分享了Spring Boot实战项目推荐,如eladmin、mall和vhr等,助力深入学习Spring Boot。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.Spring框架概述

1,Spring是一个 开源的 轻量级的 JavaEE框架。

轻量级:体积小,jar独立使用不需要依赖其他jar包,

开源:免费,可以提供源代码

框架:解决开发的复杂性,简化企业开发。

2,spring的两个核心部分:IOC,Aop

IOC:控制反转,把创建对象的过程交给spring进行管理。

Aop:面向切面,在不修改源代码的情况下,进行功能的添加或增强。

3,spring框架的特点:

1),方便解耦,简化开发:对象与对象之间的关系依赖spring。

2),Aop编程支持:不改变源代码,增强功能

3),方便测试;

4),方便集成各种优秀框架。

5),方便进行食物管理,降低API的使用难度

6),java源码经典学习范例。

4,入门案例:

1),下载Spring5:

spring网址 : spring.io

直接下载地址: https://repo.spring.io/artifa...

还要下载一个日志jar包,spring5依赖于这个jar包commons-login这个jar

下载链接:commons-logging-1.1.1.jar下载及Maven、Gradle引入代码,pom文件及包内class -时代Java (nowjava.com)

我个人下载5.2.6

2),下载完成以后,参加一个普通的java项目,将jar导入项目

3),使用spring

(1),创建普通类,在类中创建普通方法

public class User {
    public void add(){
        System.out.println("add.......");
    }
}

(2),创建spring配置文件,在配置文件中配置文件配置创建的对象

a,Spring配置文件使用xml文件配置

<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
 
    <!--配置User对象创建-->
    <bean id = "user" class = "com.yuge.User"></bean>
</beans>

b,创建测试类Test

public class Tset {
 
    @Test
    public void testAdd(){
        //1.读入上下文配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
        //2.获取配置对象
        User user = context.getBean("user", User.class);
 
        System.out.println(user);
        user.add();
    }
}

c,测试结果,成功创建对象,并调用方法

二,IOC容器

1.IOC底层原理

1),什么是IOC:

控制反转,将对象的创建和对象之间的交互作用,都交给spring进行管理。

2),使用IOC的目的

为了降低耦合

3)IOC入门案例

2,IOC底层原理

1),xml解析,工厂模式,反射

2)图解IOC底层原理

传统方式:

工厂模式:

IOC模式:

3.IOC接口(BeanFactory)

IOC基于容器完成,IOC容器的底层就是对象工厂

1),BeanFactory接口:

IOC容器的最基本实现,是spring内部的使用接口,不提倡给开发人员使用。

2),ApplicationContext接口:

是BeanFactory的子接口,提供比BeanFactory更强大的功能,一般为开发人员使用

3),两接口的区别

因为我们在使用Spring框架时,一般都是配合网页使用,使用BeanFactory创建对象时,不会创建对象,而加载配置文件的时候,是在服务器启动的时候,使用tomcat,都是将系统加载文件等费事非空间的事放在tomcat启动时完成,以提供更好的用户体验,所以采用ApplicationContext接口

4),applicationContext的实现类

3.IOC操作Bean管理(基于xml)

1),什么是bean管理:

A,bean管理包括两个步骤:Spring创建对象和Spring属性注入

2),bean管理的实现方式:

a,基于xml配置文件的实现方式

1.基于XML方式创建对象

id属性:给class类路径取个别名

class属性:创建对象类的全路径

XML方式创建默认对象默认使用空参构造器

2.基于XML方式的属性注入(1),DI:依赖注入,就是注入属性。

DI与IOC的区别:DI是IOC的一种实现。

方式一:使用set方式注入

(a),创建类的对象,创建set方法

(b),在配置文件中配置对象创建,配置属性注入

方式二:使用有参构造方法注入

方式三:p名称空间注入:

第一步:

第二步:

3.注入空值和特殊字符

一,注入空值

二,注入特殊符号

4,注入bean

1),注入外部bean

引入外部bean,用service调用Dao层,就是引入外部bean的过程。

2)注入内部bean 和 级联赋值

级联赋值方式1:不需要dept的get方法。

级联赋值方式2:第二种方法需要创建dept的get方法。

5.注入集合属性

0),创建Stu类,User类

package com.yuge;
 
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Set;
 
public class Stu {
    //数组类型
    private String course[];
    //List类型
    private List<String> name;
    //Map类型
    private Map<String,String> map;
    //Set类型
    private Set<String> set;
    //List类型中存入多个对象
    private List<User> userList;
 
    public void setUserList(List<User> userList) {
        this.userList = userList;
    }
 
    public void setCourse(String[] course) {
        this.course = course;
    }
 
    public void setName(List<String> name)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值