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

Spring框架学习day1--基础概念

  • Spring基础部分
    • **轻量级的**
    • IOC:控制反转(对象由自己管理变成交给框架管理)
    • AOP:面向切面编程
    • 一站式
    • Baen
    • Spring体系结构
  • Spring Hello World 搭建

Spring基础部分

Spring是一个轻量级的IOC、AOP的一站式java开发框架,为简化企业级应用开发而生的,

轻量级的

Spring 框架使用的 jar 都比较小,一般在 1M 以下或者几百 kb。Spring 核 心功能的所需的 jar 总共在 3M 左右。Spring 框架运行占用的资源少,运行 效率高。

IOC:控制反转(对象由自己管理变成交给框架管理)

即Inversion of Control,缩写为IOC,是由Spring 管理对象,而非传统实现 中由程序代码直接操控.

spring的思想是将对象的生成和管理同一交给框架,需要的时候,直接从框架获取即可

Servlet:LoginDao logindao = new LoginDao();

​ IOC容器负责对象的实例化、对象的初始化、对象和对象之间的依赖关系、对象的销毁、对外提供对象的查找工作,对象整个生命周期都交给容器来做。

​ 我们需要的对象都由IOC容器进行管理,不需要我们手动

正控:若要使用某个对象,需要自己去负责对象的创建

反控:若要使用某个对象,只需要从 Spring 容器中获取需要使用的对象, 不关心对象的创建过程,也就是把创建对象的控制权反转给了Spring框架.

image-20250529172143697

AOP:面向切面编程

Aspect Oriented Programming 直译过来就是面向切面编程。AOP 是一种编 程思想,是面向对象编程(OOP)的一种补充。面向对象编程将程序抽象成各 个层次的对象,而面向切面编程是将程序抽象成各个切面.

一站式

框架 Spring本身也提供了数据访问功能和web功能,以及可以很好的管理其他框架.

Baen

由Spring框架创建的对象,称为一个bean对象,和我们自己new的对象不一样

Spring体系结构

image-20250529163936037

Spring Hello World 搭建

1.Maven项目

创建maven项目

image-20250529163504091

2.导入对应jar包

<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.2.RELEASE</version>
</dependency>

3.编写spring配置文件

resources创建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"><!--配置哪些类需要spring框架进行管理-->
<bean id="admin" class="org.example.model.Admin"></bean>
</beans>

4.创建一个类

image-20250529165148642

5.创建一个测试类

package org.example.test;import javafx.application.Application;
import org.example.model.Admin;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class test1 {public static void main(String[] args) {
//        以前在程序哪里需要对象,我们就在哪里new对象
//        Adimin admin = new Adimin();/** 现在使用spring,把创建对象的控制权交给spring框架,这个称为控制反转(IoC)* 我们只需要在spring配置文件中配置好对象,然后通过spring的API来获取对象即可* 这样,程序的耦合度降低,代码更加灵活,更容易维护** ClassPathXmlApplicationContext("spring.xml");spring框架落地实现的功能的具体类,我们可以把它理解为一个容器(生成并管理对象)*                                              也有一些别称 IOC容器 Spring容器* */ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");Admin admin = (Admin)context.getBean("admin"); //获取spring容器中id为admin的bean对象Admin admin1 = context.getBean("admin", Admin.class); //获取spring容器中id为admin的bean对象,并指定类型为AdminSystem.out.println(admin);System.out.println(admin1);}
}
http://www.xdnf.cn/news/711775.html

相关文章:

  • 深度解析UniApp盲盒系统开发:从源码架构到多端部署全流程
  • 基于STM32F10X的BMP280程序
  • 滚珠导轨:电子制造“纳米级”精度的运动基石
  • 如何用命令行将 PDF 表格转换为 HTML 表格
  • 责任链模式:构建灵活可扩展的请求处理体系(Java 实现详解)
  • ZYNQ移植FreeRTOS和固化和openAMP双核
  • 设备制造行业项目管理难点解析,如何有效解决?
  • 塔能科技:为多行业工厂量身定制精准节能方案
  • Kotlin 活动事件通讯跳转深度讲解
  • 职业本科院校无人机专业人才培养解决方案
  • KeePass安装与KeePass设置中文教程
  • springboot多模块父pom打包正常,单模块报错
  • clickhouse如何查看操作记录,从日志来查看写入是否成功
  • 湖北理元理律师事务所债务优化实践:在还款与生活间寻找平衡支点
  • [NOIP 2001 普及组] 数的计算 Java
  • 高防IP能抗住500G攻击吗?
  • PostgreSQL的聚集函数
  • Nest全栈到失业(三):半小时图书管理系统-User
  • Ubuntu 22.04 上安装 PostgreSQL(使用官方 APT 源)
  • CRMEB 单商户Java版 v2.3公测版发布,欢迎体验!
  • 收集飞花令碎片——C语言(数组+函数)
  • 酷派Cool20/20S/30/40手机安装Play商店-谷歌三件套-GMS方法
  • 小程序为什么要安装SSL安全证书
  • LeetCode 55 45:跳跃游戏与跳跃游戏 II - 贪心算法详解
  • 前端开发中 <> 符号解析问题全解:React、Vue 与 UniApp 场景分析与解决方案
  • 题目 3298: 蓝桥杯2024年第十五届决赛真题-兔子集结
  • WPF log4net用法
  • STM32 AD单通道与多通道实战指南
  • 【QT】理解QT的“元对象系统”
  • 【Tips】关于PCI和PCIe的配置空间差异和io/memory io读写