Spring Framework(1)-入门与基础操作总结

【云原生技术】Spring Framework Spring Boot 和 Spring Cloud的关系与区别 是一个开源框架,旨在简化 Java 企业级应用程序的开发。控制反转(IoC):通过 IoC 容器管理对象的创建和生命周期,提高松耦合性。面向切面编程(AOP):支持横切关注点的处理,例如日志记录和事务管理。数据访问:方便地集成各种数据访问技术,如 JDBC 和 Hibernate。Web 开发支持:提供 Spring MVC 构建 Web 应用程序的能力。是 Spring Framework 的一个子项目,旨在简化 Spring 应用程序的配置和开发过程。 阅读详情

 点击查看Spring系列文章

 

目录

一.基础概念

1.Spring有哪些组件

2.ApplicationContext类和BeanFactory接口 

3.BeanFactory接口 

4.XMLBeanFactory类

二.简单使用

1.导包

2、建立一个xml配置文件

3、导入约束

4、将对象交个spring容器管理

5.使用ApplicationContext加载配置文件,获取对象

各种概念与基础操作


一.基础概念

Spring是Spring Framework的总称,包含了许多Java开发和测试所需的组件,旨在提高Java开发者的开发效率和简化开发难度和维护难度。

1.Spring有哪些组件

 

Spring 4.0中有八大常用的组件,它们分别是:

  1. Spring Core: Spring框架其他模块的核心依赖组件,并且也提供Spring IoC功能
  2. Spring Aspects:可以与AspectJ提供集成支持(AOP支持)
  3. Spring AOP:提供了面向切面编程实现
  4. Spring JDBC:提供了Java与数据库连接的支持
  5. Spring JMS:提供Java消息相关支持
  6. Spring ORM:提供了Hibernate、JPA等持久化支持
  7. Spring Web:提供了Web支持
  8. Spring Test:提供了Junit和TestNG的支持

2.ApplicationContext接口和BeanFactory接口有什么不同


ApplicationContext接口和Beanfactory的关系相当于一辆完整的汽车与汽车引擎之间的关系:BeanFactory面向的是Spring容器使用,而ApplicationContext面向的是用户使用,它比BeanFactory提供了更加完善的功能:
1. 提供了支持国际化的文本消息
2. 统一的资源文件读取方式
3. 已在监听器中注册的bean的事件

3.BeanFactory接口有什么作用


BeanFactory接口是Spring框架管理Bean的核心容器,是以工厂模式来实现的,用于获取注册和获取Bean。

 

二.简单使用


 

1.导包

 

导入这几个基础的核心包:

 

2、建立一个xml配置文件

命名为:applicationContext.xml ,里面规定了Spring管理的对象。

3、导入约束

 视频链接:https://pan.baidu.com/s/1J9W2wi3y_tSXe_XXnoULzg

4、将对象交个spring容器管理

5.使用ApplicationContext加载配置文件,获取对象

package com.iteason.hello;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.iteason.bean.User;

public class Demo {
	
	@Test
	public void fun1(){
		//spring的helloworld
		
		//1、创建容器对象
		ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml"); 
		//2、向容器拿user对象
		User user = (User) ac.getBean("user");
		//3、打印user对象
		System.out.println(user);
		
	}
}

 

 

 

各种概念与基础操作

AO面向切面编程

EJB:JavaEE早期的服务器端组件模型

IoC:控制反转

DI:依赖注入

    1)set方法注入

    2)构造方法注入

    3)属性注入

 

spring的IoC容器:

1)BeanFactory(已过时)

2)ApplicationContext:BeanFactory的子接口,不仅提供BeanFactory的所有功能,还对其进行了增强,开发中使用

|-从硬盘的相对路径加载配置文件:

 
ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");

|-从相对路径加载配置文件(不使用)

 

 

spring配置文件中的bean元素简单配置:

    bean元素:使用该元素表示要交给spring管理的对象

        |-name属性:给被管理的对象起个名字,获得该对象时可以使用这个名字去获取

        |-class属性:被spring管理的完整类名

        |-scope属性:1)singleton 默认使用,单例对象,多次请求只创建一个实例     

                              2) prototype 多例对象,多次请求,创建多个对象实例

                                

                                

tip:调用spring创建对象时,使用的是对象的空参构造方法(正常的调用情况)

 

 

 

生命周期属性:

init-method=”init“

destory-method=”destory“

----用于实例化对象后的前处理与后处理

 

 

分模块配置:导入其他配置文件,而不用把所有配置都放在一起

<import  resource="/其他配置的路径"></import>

 

 

spring的依赖注入配置:

1、set方式注入

   配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
	
	<!-- 将对象交给spring管理 -->
	<!-- 将对象交给spring管理 -->
	<bean name = "user1" class="com.iteason.bean.User" >
		<!-- 配置set注入 -->
		
		<property name="name" value="set方法注入"></property>
		<property name="age" value="15"></property>
	
	</bean>
	
</beans>
	<bean name = "user1" class="com.iteason.bean.User" >
		<!-- 配置set注入 -->
		
		<property name="name" value="set方法注入"></property>
		<property name="age" value="15"></property>
	
	</bean>
	
</beans>

    User:

package com.iteason.bean;

public class User {
	
	private String name;
	private Integer age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public User() {
		System.out.println("空参创建");
	}
	@Override
	public String toString() {
		return "User [name=" + name + ", age=" + age + "]";
	}
	
	
	
}

 

Demo:

 

package com.iteason.reject;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.iteason.bean.User;

public class RejectDemo {

	@Test
	public void fun1(){
		//演示set注入
		//创建容器对象
		ApplicationContext ac = new ClassPathXmlApplicationContext("com/iteason/reject/applicationContext.xml");
		//取出user
		User u = (User) ac.getBean("user1");
		//输出
		System.out.println(u);
	}
	
}

执行结果:

 

 

2、构造方式注入

先要为User提供无参和含参构造

配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.2.xsd ">
	
	<bean name = "user2" class="com.iteason.bean.User" >
		<!-- 构造方法注入 -->
		<constructor-arg name="name" value="构造方法注入"></constructor-arg>
		<constructor-arg name="age" value="16"></constructor-arg>
		
	</bean>
	
</beans>

 

Demo运行结果:

 

在构造方法注入时,还可选择的属性有index属性,type属性,分别用来标识输入的值在构造函数中的位置和类型

 

【云原生技术】 Servlet、Spring Framework、Spring Boot 和 Spring Cloud 及其关系的详细解释 Servlet是 Java Web 应用的一部分,用于处理 HTTP 请求和响应。是一个全面的 Java 开发框架,提供强大的功能支持。和是 Spring Framework 的扩展,分别用于快速应用开发和微服务架构。CRUD 操作是数据管理的基本操作,适用于几乎所有数据库交互场景。 阅读详情

相关推荐

Spring Framework 1.0早期版本架构解析与实战

大多数 Bean 直接由容器通过反射创建,但有些对象(如代理、连接池、第三方库封装)需要更复杂的初始化逻辑。为此,Spring 提供了接口:支持通过实现 DSL 风格配置:只需注册处理器并在中声明即可。

weixin_35706067的博客 680

Spring 框架(Spring Framework)使用详解

Spring 框架(Spring Framework)使用详解

墨鸦的博客 1万+

避坑指南:STM32定时器测PWM频率占空比时,那些CubeMX没告诉你的细节(蓝桥杯真题衍生)

本文深入解析STM32定时器测量PWM频率和占空比时的关键细节,揭示CubeMX配置中未明确的时钟树原理和输入捕获机制。针对蓝桥杯嵌入式赛题中的常见问题,提供动态调整预分频器、多采样数字滤波等实战解决方案,帮助开发者避免测量误差,提升PWM测量精度和稳定性。

weixin_28692153的博客 340

Spring 框架基本使用(详细)

AOP(Aspect Oriented Programming):面向切面编程,即通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术,AOP是Spring框架中一个重要的技术,Spring 中的 AOP,就是通过配置的方式,实现动态代理的过程,它是函数式编程的一种衍生范型,利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间耦合度降低,提高程序的可重用性和开发效率。ref:用于指定其他的bean类型数据,它指的是在Spring的IOC核心容器出现过的bean对象。

2401_85111725的博客 1344

从零配置华为S5720交换机VLAN:Web界面与命令行双模式详解(附拓扑图)

本文详细解析华为S5720交换机VLAN配置的全过程,涵盖Web界面与命令行(CLI)双模式操作指南。从基础环境准备到多交换机环境配置同步,特别针对S5720-52X系列交换机的VLANif接口、端口分配策略及交换机堆叠技术进行深入讲解,并附实用拓扑图与配置示例,助力企业网络管理员高效完成VLAN部署。

happy2的博客 1374

MIKE21桥墩模拟实战:抠网格与构筑物法对比与选型指南

本文详细对比了MIKE21软件中抠网格法与构筑物法在桥墩模拟中的应用,包括操作步骤、适用场景及优缺点分析。通过实际案例数据展示两种方法的精度与效率差异,并提供选型决策树和常见问题解决方案,帮助工程师根据项目需求选择最优模拟方法。

weixin_42656416的博客 325

spring framework入门(2):spring配置和启动方式

工具:maven、spring framework(4.2.4.RELEASE) 示例代码:https://download.youkuaiyun.com/download/u010476739/11419584 spring framwork的核心功能是依赖注入、作为对象工厂 试验条件: maven spring framwork 4.2.4.RELEASE 试验目的: 试验spring配置文...

火焰 6464

从零构建机械臂规划栈:Pinocchio、OMPL与Ruckig的工程化融合实践

本文详细介绍了如何从零构建机械臂规划栈,通过融合Pinocchio、OMPL和Ruckig三大核心组件,实现高性能的机械臂运动规划与轨迹生成。文章深入探讨了技术选型、工程架构设计及实战优化技巧,特别针对逆解、路径规划和轨迹平滑等关键环节提供了实用解决方案,适用于工业场景中的高实时性需求。

weixin_29072299的博客 433

Spring Framework(超详细)

Bean相关依赖相关。

2301_80744893的博客 2176

结构力学仿真软件:STAAD.Pro:结构抗震设计与STAAD.Pro应用_2024-08-10_11-49-29.Tex

STAAD.Pro是一款广泛应用于结构工程领域的仿真软件,由Bentley Systems开发。它能够进行结构分析和设计,支持多种结构类型,包括桥梁、建筑物、塔架等。STAAD.Pro提供了强大的建模工具,用户可以轻松创建复杂的结构模型,并进行静态和动态分析。软件还支持多种载荷组合,包括地震载荷,以及提供详细的报告和图纸输出,便于工程师进行设计和审查。STAAD.Pro是一款广泛应用于结构工程设计的软件,其界面直观,功能强大,能够进行结构分析与设计。菜单栏。

977

锂电池SOH估计 | 基于LSTM模型的锂电池SOH估计(Python)

锂电池SOH估计 | 基于LSTM模型的锂电池SOH估计(Python)

前程算法屋的博客 1435

Java工具库系列(四):Spring Framework

Spring Framework 是一个开源的 Java 平台框架,主要用于简化 Java 企业级应用程序的开发。它的核心功能包括依赖注入(DI)、面向切面编程(AOP)、数据访问框架、事务管理、以及对多种框架和技术的支持(如 Hibernate、JPA 等)。Spring Framework 是一个功能强大的 Java 开发框架,通过提供丰富的功能和灵活的配置选项,极大地简化了企业级应用程序的开发。在本篇文章中,我们介绍了 Spring 的核心功能和使用方法。

阿里渣渣java研发组-群主 1287

20、啁啾脉冲光纤放大器:原理、设计与仿真

本文详细介绍了啁啾脉冲光纤放大器(FCPA)的原理、设计与仿真过程。内容涵盖CPA技术的基本原理、光纤基CPA系统的组成、Tm掺杂光纤放大器的工作机制、全光纤脉冲展宽器的设计以及仿真分析。通过MATLAB仿真展示了脉冲在光纤中的展宽与放大过程,并讨论了如何优化系统以减少非线性失真、控制峰值功率并提高整体性能。文章还总结了系统优化的关键策略,并展望了未来的发展方向。

v4w5x6的博客 319

Spring Framework 入门:构建第一个 Spring 应用

Spring 是一个轻量级的开源框架,主要用于简化 Java 企业级应用的开发。Spring 最著名的功能是其控制反转(IoC)容器和依赖注入(DI)机制,它们可以帮助开发者管理对象的创建、生命周期和依赖关系,从而提高代码的可维护性和灵活性。IoC 容器:通过 IoC 和 DI,Spring 管理应用中的对象。AOP(面向切面编程):允许开发者通过切面(Aspect)定义跨越多个模块的行为。事务管理:Spring 提供了一个一致的事务管理接口,支持多种事务管理方案。数据访问。

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 1184

pdb文件删除杂原子 HETATM;保留或去除水分子

这样操作水分子也会跟着删除,如果需要保留水分子。

weixin_42357472的博客 2646

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Spring基础:快速入门spring(1):基础概念

作为流行了10年以上的老将,spring依然精神矍铄,影响不减。本文将对spring很基础的概念进行介绍以及为学习spring最核心和基础的知识作环境搭建的准备。

知行合一 止于至善 1万+

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Spring Framework 基础入门

/方式一类路径加载配置文件ApplicationContextcontext=newClassPathXmlApplicationContext("applicationContext.xml");//加载多个配置文件context=newClassPathXmlApplicationContext("applicationContext.xml,applicationContext2.xml");//方式二httpshttpshttpshttpshttpshttps。......

从零开始的博客 4523

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Spring Framework 6入门介绍

Spring Framework 6 是一个功能强大、灵活易用的 Java 框架,它为企业级应用程序的开发提供了全面的支持。通过引入 Kotlin 支持、增强响应式编程、提升 WebFlux 性能、优化数据访问、增强安全性以及引入 AOT 编译技术等新特性和改进,Spring 6 使得开发高性能、高可用性的应用程序变得更加容易和高效。无论是对于新项目的开发还是旧项目的升级,Spring 6 都将是一个值得考虑和选择的优秀框架。

一个老Java开发的自白 2319

《Spring Framework实战》2:Spring快速入门

《Spring Framework实战》2:Spring快速入门

大强博客 1614

Spring与Spring Framework的入门介绍以及学习文章整理

Spring的介绍。本系列文章将会基于最新Spring 5.x,讲解Spring的使用方法和核心原理!

终生学习践行者 6912

Spring Framework详解

我们为什么要学习Spring框架?生命周期:从创建到消亡的完整过程bean生命周期:bean从创建到销毁的整体过程bean生命周期控制:在bean创建后到销毁前做一些事情。

m0_74212228的博客 1460

Embabel Agent Framework与Spring AI的完美集成:7个关键优势解析

在当今快速发展的AI技术领域,**Embabel Agent Framework**作为一个强大的代理流程编排框架,通过与**Spring AI**的深度集成,为开发者提供了前所未有的开发体验。这种集成不仅简化了复杂的AI应用开发流程,还为企业级AI系统的构建提供了可靠的技术支撑。 ## 🚀 1. 无缝的工具互操作性 **Embabel Agent Framework**通过`SpringT

gitblog_00982的博客 1128

Spring基础

spring基础学习笔记 day01-(18:00) 01 Spring简介 1.1 、 Spring家族 官网:https://spring.io,从官网我们可以大概了解到: Spring能做什么:用以开发web、微服务以及分布式系统等,光这三块就已经占了JavaEE开发 的九成多。 Spring并不是单一的一个技术,而是一个大家族,可以从官网的Projects中查看其包含.

分享学习编程中的遇到的问题,总结平时的笔记 2745

《SpringBoot 3:入门与应用实战》第 1 章 Spring Framework 入门 阅读笔记

《SpringBoot 3:入门与应用实战》第 1 章 Spring Framework 入门 阅读笔记

道友 231

Spring Framework入门:IOC与DI

Spring Framework入门:IOC与DI介绍与配置

2401_83516802的博客 677

Spring Boot 学习之路——1 入门demo

前言:使用Spring Boot已有一年多时间,却从未静下心来总结,今天抽空写个傻瓜式教程,巩固一下。Spring Boot的主要优点:为所有Spring开发者更快的入门开箱即用,提供各种默认配置来简化项目配置内嵌式容器简化Web项目没有冗余代码生成和XML配置的要求(Spring 4可实现零配置)入门demo很简单,实现一个简单的Http 请求处理。废话不说看截图。IDE : IntelliJ ...

只是一只程序媛 1400
上一篇: JavaEE(1)-Servlet模块化
下一篇: Spring Framework(2)-Spring与开发模式演进
BoringRong
BoringRong 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 2万+粉丝 386原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BoringRong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值