当前位置: 首页 > news >正文

Spring入门概念 以及入门案例

Spring入门案例

  • Spring
    • spring是什么
    • spring的狭义与广义
    • spring的两个核心模块
      • IoC
      • AOP
    • Spring framework特点
    • spring入门案例
      • 不用new方法,如何使用返回创建的对象
    • 容器:IoC
      • 控制反转
      • 依赖注入

Spring

spring是什么

  • spring是一款主流的Java EE轻量级开源框架

spring的狭义与广义

  • 广义上的spring泛指以Spring Framework为核心的Spring技术栈
  • 狭义上的spring特指Spring Framework,通常我们将它称为Spring框架

spring的两个核心模块

IoC

  • Inverse of Control,的简写,译为“控制反转”,指把创建对象过程交给Spring进行管理

AOP

  • Aspect Oriented Programming的简写,译为“面向切面编程”。AOP用来封装多个类的公共行为,将那些与业务无关,却为业务模块所共同调用的逻辑封装起来,减少系统的重复代码,降低模块间的耦合度,另外,AOP还解决一些系统层面上的问题,比如日志、事务、权限等

Spring framework特点

  • 非侵入式
  • 控制反转
  • 面向切面编程
  • 容器
  • 组件化
  • 一站式

spring入门案例

  1. 引入spring相关依赖
<dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>6.1.14</version>
    </dependency>

    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.6.3</version>
    </dependency>
    </dependency>

</dependencies>
  1. 创建类、定义属性和方法
public class User {
    public void add(){
        System.out.println("add.....");
    }
}
  1. 按照spring要求创建配置文件(xml格式)
    注意:这里的class中是你的文件路径,由于波煮是跟着B站尚硅谷学的,所以这里就是com.atguigu.spring6
<!--
    id属性:唯一标识
    class属性:要创建对象所在类的全路径(包名称+类名称)
-->
    <bean id="user" class="com.atguigu.spring6.User"/>
  1. 在spring配置文件配置相关信息
  2. 进行最终测试

不用new方法,如何使用返回创建的对象

  1. 加载bean.xml配置文件
  2. 对xml文件进行解析操作
  3. 获取xml文件beam标签属性值(ID属性值和class属性值)
  4. 使用反射根据类全路径创建对象
import org.junit.jupiter.api.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestUser {
    @Test
    public void testUserObject(){
        //加载spring配置文件,对象创建
        ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
        //获取创建的对象
        User user = (User)context.getBean("user");
        System.out.println("1:"+user);
        //使用对象调用方法进行测试
        System.out.print("2:");
        user.add();
    }
}

容器:IoC

  • Spring通过IoC容器来管理所有Java对象的实例化和初始化,控制对象与对象之间的依赖关系
  • 我们将由IoC容器管理的Java对象称为Spring Bean,它与使用关键字new创建的Java对象没有任何区别
  • 容器放bean对象,使用map集合

控制反转

  • 控制反转是一种思想
  • 控制反转是为了降低程序耦合度,提高程序扩展力
  • 控制反转,反转的是什么?
    • 将对象的创建权利交出去,交给第三方容器负责
    • 将对象和对象之间关系的维护权交出去,交给第三方容器负责
  • 控制反转这种思想如何实现呢?
    • DI(dependency injection):依赖注入

依赖注入

  • DI(Dependency injection):依赖注入,依赖注入实现了控制反转的思想
  • 定义:指Spring创建对象的过程中,将对象依赖属性通过配置进行注入
  • 依赖注入常见的实现方式包括两种:
    • set注入
    • 构造注入
  • 结论:IOC是一种控制反转的思想,而DI是对IOC的一种具体实现
  • Bean管理说的是:Bean对象的创建,以及Bean对象中属性的赋值(或者叫做Bean对象之间关系的维护)

相关文章:

  • 使用 Mapped Pinned Memory 优化 YOLOv10 TensorRT 推理速度:Zero-Copy 技术实战
  • 大学论文书写规范与格式说明
  • CJ92930在消费类领域的运用
  • Java服务端开发基石:深入理解Spring IoC与依赖注入 (DI)
  • 替换jeecg图标
  • QT面试题:内存管理与对象生命周期
  • Docker+MySQL的主从架构同步数据的方法
  • MYSQL——SQL语句到底怎么执行
  • 数据库的MVCC机制详解
  • C# ref out关键字 理解学习记录
  • 国家科技奖项目答辩ppt设计_科技进步奖PPT制作_技术发明奖ppt美化_自然科学奖ppt模板
  • Linux 的准备工作
  • 大小端判断函数
  • 【I/O】文件系统操作
  • 2024年第十五届蓝桥杯CC++大学A组--成绩统计
  • 贪心算法:部分背包问题深度解析
  • openwrt软路由配置-----扩展系统空间
  • 【Linux】39.一个基础的HTTP Web服务器
  • 入侵检测系统(IDS)和入侵防御系统(IPS)有啥区别?
  • Linux系统05---进程
  • 南昌做网站的公司/提高关键词排名的软文案例
  • 怎么写代码自己制作网站/网站信息查询
  • coding免费搭建wordpress/郑州网站建设优化
  • 绍兴建设开发有限公司网站/关键词排名优化工具
  • 建设高端网站的公司/苏州百度推广服务中心
  • 谷歌seo技巧/青岛seo博客