Spring(一):Spring基本介绍

Spring 的体系结构 体系结构 Spring-framework 框架是一个分层架构,它包含一系列的功能要素,并被分为大约20个模块。这些模块分为 Core Container、Data Access/Integration、Web、AOP(Aspect Oriented Programming)、Instrumentation 和 test 部分。 Core Container(核心容器) 核心容器由 spring-... 阅读详情
Spring 是一个开源框架.
Spring 为简化企业级应用开发而生. 使用 Spring 可以使简单的 JavaBean 实现以前只有 EJB 才能实现的功能.
Spring 是一个 IOC(DI) 和 AOP 容器框架.

具体描述 Spring:
轻量级:Spring 是非侵入性的 - 基于 Spring 开发的应用中的对象可以不依赖于 Spring 的 API
依赖注入(DI --- dependency injection、IOC)
面向切面编程(AOP --- aspect oriented programming)
容器: Spring 是一个容器, 因为它包含并且管理应用对象的生命周期
框架: Spring 实现了使用简单的组件配置组合成一个复杂的应用. 在 Spring 中可以使用 XML 和 Java 注解组合这些对象

一站式:在 IOC 和 AOP 的基础上可以整合各种企业应用的开源框架和优秀的第三方类库 (实际上 Spring 自身也提供了展现层的 SpringMVC 和 持久层的 Spring JDBC)

package com.jiangtao.spring.helloworld;

public class HelloWorld {
	private String name;
	
	public void setName(String name) {
		System.out.println("setName:"+ name);
		this.name = name;
	}
	
	public void hello() {
		System.out.println("hello:"+name);
	}
	public HelloWorld() {
		System.out.println("helloworld constructs...");
	}
	public HelloWorld(String name){
		this.name = name;
	}
}

<!-- 配置bean -->
	<!-- 通过属性注值 通过setter方法 -->
	<bean id="helloworld" class="com.jiangtao.spring.helloworld.HelloWorld">
		<property name="name" value="豆豆"></property>
	</bean>

package com.jiangtao.spring.helloworld;

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

import com.jiangtao.spring.collection.Student;

public class Main {
	public static void main(String[] args) {
		
		//创建spring的IOC容器
		ApplicationContext applicationContext =
						new ClassPathXmlApplicationContext("ApplicationContext.xml");
		//从容器中获取bean
		HelloWorld hw = applicationContext.getBean(HelloWorld.class);
		/**
		 * 或者这样写,helloworld为在配置文件的bean id
		 * HelloWorld hw = (HelloWorld)applicationContext.getBean("helloworld");
		 * 
		 */
		System.out.println(hw);
		//调用方法
		hw.hello();
	}
}

输出结果:
helloworld constructs...
setName:豆豆
com.jiangtao.spring.helloworld.HelloWorld@595660c3
hello:豆豆

 
这里我们可以发现,如果通过set属性赋值,是利用反射,调用无参数的构造器创建实例,然后在调用setName赋值,这个过程是在第一步就完成了,就是创建spring的IOC容器那一步

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

import com.jiangtao.spring.collection.Student;

public class Main {
	public static void main(String[] args) {
		
		//创建spring的IOC容器
		ApplicationContext applicationContext =
						new ClassPathXmlApplicationContext("ApplicationContext.xml");
         }
}
输出结果为:
<pre name="code" class="java">helloworld constructs...
setName:豆豆

上面是通过set属性赋值,下面我们通过构造器赋值

配置文件中:

<bean id="helloworld" class="com.jiangtao.spring.helloworld.HelloWorld">
		<constructor-arg name="name" value="豆豆" />
	</bean>-->
<pre name="code" class="java">package com.jiangtao.spring.helloworld;

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

import com.jiangtao.spring.collection.Student;

public class Main {
	public static void main(String[] args) {
		
		//创建spring的IOC容器
		ApplicationContext applicationContext =
						new ClassPathXmlApplicationContext("ApplicationContext.xml");
		//从容器中获取bean
		HelloWorld hw = applicationContext.getBean(HelloWorld.class);
		/**
		 * 或者这样写,helloworld为在配置文件的bean id
		 * HelloWorld hw = (HelloWorld)applicationContext.getBean("helloworld");
		 * 
		 */
		System.out.println(hw);
		//调用方法
		hw.hello();
	}
}

输出结果:
com.jiangtao.spring.helloworld.HelloWorld@595660c3
hello:豆豆





Spring基础(一):Spring概念介绍 Spring是分层的全栈式的轻量级开发框架,以IOC和AOP为核心 阅读详情

相关推荐

spring简单介绍

spring简单介绍 导入spring包及描述spring aop ioc技术,以及applicationtext的配置情况

Spring介绍

Spring是一个开放源代码的设计层面框架,解决业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。 Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

m0_38033199的博客 2557

RLHF的数学表示

RLHF(Reinforcement Learning with Human Feedback)是一种结合了强化学习和人类反馈的机器学习方法。它通常用于训练智能体(agent)在复杂环境中做出决策,同时利用人类的反馈来指导和改进学习过程。RLHF 没有一个统一的数学表示式,因为它依赖于具体的应用场景和实现细节。然而,我们可以从强化学习和人类反馈的角度来描述RLHF的一些关键数学概念。

xw555666的博客 689

Spring全面详解

Spring是个Java企业级应用JavaEE(13种规范)的开源开发框架。Spring主要用来开发Java应用,是针对构建JavaEE平台的web应用。

White-Camellia 4722

【2025年五一数学建模竞赛】A题 完整论文 模型建立与求解

2025年五一数学建模竞赛 A题:基于历史数据与模式识别的道路车流量推测模型研究

Magnolia_He的博客 3783

《Long-CLIP: Unlocking the Long-Text Capability of CLIP》

总的来说,Long-CLIP是一个改进的视觉-语言预训练模型,它通过知识保留的位置上插值和主要成分匹配策略,有效解决了原始CLIP模型在处理长文本输入时的限制。这一模型不仅在长文本图像检索任务中表现出色,而且在零样本图像分类任务中保持了与原始CLIP相当的性能,同时还能以即插即用的方式增强图像生成任务中的长文本处理能力。

Angelina_Jolie的博客 1381

【框架学习】spring简介

Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 Spring 作为一个解决企业复杂度的框架,在Java开发中享有圣喻,号称所有java开发均可使用此框架,对于其他框架(如,Struts,Hibernate,Mybits等)都很好的支持。Spring作为项目的

小鼠标的博客 2973

2022网安保研经验帖

2022网安保研经验

fumingxiaoshen的博客 4895

Spring简介

一、spring简介 1.1.1 Spring是什么 Spring是分层的 Java SE/EE应用full- stack轻量级开源框架,以IoC(Inversion of Control:反转控制)和AOP( Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 Spring MVC和持久层 Spring JDBC以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的 Java EE企业应用开源框架。 1.1.2Spr

qq_45834459的博客 1万+

14、5G物理层的灵活解决方案:广义频分复用(GFDM)

广义频分复用(GFDM)作为一种高度灵活的5G物理层多载波调制方案,能够满足多样化应用场景的需求,包括高吞吐量的比特管道通信、低功耗高连接数的物联网、超低延迟的触觉互联网以及广覆盖的无线区域网。通过参数化配置,GFDM可适配LTE资源网格,实现与现有系统的兼容与共存。其支持多种解调方式、干扰消除技术、OQAM映射及预编码机制,兼具低带外发射、高频谱效率和强鲁棒性。GFDM还能统一描述OFDM、FBMC、FTN等多种经典与先进波形,成为5G及未来通信系统中极具潜力的通用波形框架。

gold8的专栏 108

18、深入解析航空飞行数据中的秘密:从数据清理到高级分析

本文详细解析了如何使用R语言处理和分析航空飞行数据,从基础的数据清理到复杂的回归分析和机器学习模型构建。文章涵盖了探索性数据分析、天气数据的整合、地理信息可视化、时间序列预测以及航班延误的优化策略等内容,展示了如何通过数据挖掘技术提高航空运营效率和乘客满意度,并探讨了数据质量评估与隐私保护的重要性。

convnet3designer的博客 108

spring security——基本介绍(一)

一、spring security 简介 spring security 的核心功能主要包括: 认证 (你是谁) 授权 (你能干什么) 攻击防护 (防止伪造身份) 其核心就是一组过滤器链,项目启动后将会自动配置。最核心的就是 Basic Authentication Filter 用来认证用户的身份,一个在spring security中一种过滤器处理一种认证方式...

随笔记 41万+

PyTorch实战(30)——使用TorchScript和ONNX导出通用PyTorch模型

在本节中,我们将深入探讨使用 TorchScript 导出 PyTorch 模型。通过序列化,TorchScript 使模型与 Python 生态系统独立,从而使得模型可以在其他环境中加载,例如基于 C++ 的环境。我们还跨越 Torch 框架与 Python 生态的边界,研究机器学习通用开放格式 ONNX,该技术能帮助我们将 PyTorch 训练的模型导出至非 PyTorch 甚至非 Python 环境。

盼小辉丶的博客 3571

①Spring介绍

Spring 概念、IOC 容器、AOP、JdbcTemplate、事务管理、日志与测试。

Love_Ban的博客 1282

已解决pywin32使用报错ImportError: DLL load failed while importing pywintypes: 找不到指定的模块。

已解决在安装pywin32库后import 引入win32com.client后,报错mod = importlib.util.module_from_spec(spec) ImportError: DLL load failed while importing pywintypes: 找不到指定的模块。

c1007857613的专栏 7046

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Spring(一)——总体介绍

前边讲述了用于处理数据流程的Struts2的框架,和用于操作数据的IBatis持久层框架,这篇博客开始总结一下Spring框架,是进行对象管理,对象关联,解耦的一个中间层框架。SSH(Struts+Spring+Hibernate)三大Spring在中间就起着一个承上启下的作用。好,首先我们先来看一下Spring框架的一些知识点,通过下边这张图来总括一下:

学会改变自己——才能突破 6万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

(一)Spring Boot基本介绍

Spring Boot的介绍 Spring Boot的特点 Spring Boot 的缺点 依赖太多本身Spring也存在。 微服务的开发需要服务注册与发现,但是在spring boot中并没有集成。 Spring boot内置的安全监控比较少,比较基础。 Spring Boot的应用场景 1.Spring 能够应用的场景 2.java web应用 3.微服务 ...

kun blog 642

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

一、Spring介绍

了解Spring中可用的配置方法 Spring介绍 - 章节 Inversion of Control Container Dependency Injection Java without Enterprise JavaBeans(EJBs) Spring知识 JEE POJO-based Unobtrusive AOP/Proxies Best Practices ...

u012596785的博客 195

一、Spring介绍以及版本历史演进

与常见Spring XML名称空间元素等价的注解,如@ComponentScan、@EnableTransationManagement、@EnableCaching、@EnableScheduling、@EnableAsync、@EnableAspectAutoProxy、@EnableLoadTimeWeaving和@EnableSpringConfigured。Spring的第一个版本于2002年10月发布,由一个带有易于配置和使用的控制反转(IoC)容器的小型内核组成。它由下图所示的七个模块组成。

m0_74824865的博客 1457

(一)Spring介绍

1.Spring介绍 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Sp...

小树的博客 235

【Spring】(一)Spring简单介绍

Spring是一款开源的免费框架,是一个轻量级控制反转(IOC)和面向切面(AOP)的Java EE框架。轻量级指的是不依赖容器就能运行的,Spring最初的作者是Rod Jahnson,现在已经被Pivotal SoftWare公司收购。一般所谓的Spring指的仅仅是Spring旗下的Spring Framework这一款产品,在Spring被Pivotal公司接收后相继研发出了Spring ...

初叙 570

spring 介绍以及使用概要一

spring和环境搭建以及bean的简单测试 1.spring 是一个分层的轻量级的开源框架2003年由Rod Johnson创建。 1.1控制层:提供了spring mvc 1.2业务层:解决了普通bean的IoC(控制反转) 1.3持久层:spring提供了spring jdbc,以及可以整合所有ORM框架的支持 2.spring的作用 控制反转;面向切面编程;包含并管理应用对象的配置和生命周期等;框架性; 所有这些都是为了开发人员编写代码更加干净,更加可管理更方便测试。同时spring对当前主流框架都

qq_2605729906的博客 242

Spring(一)Spring 入门&IOC介绍

文章目录Spring概述Spring是什么Spring 的优势Spring体系结构IOC的概念和作用程序的耦合解耦解决程序耦合的思路工厂模式解耦控制反转-Inversion Of Control使用 spring 的 IOC 解决程序耦合工厂模式解耦控制反转-Inversion Of Control Spring概述 Spring是什么 Spring 是分层的 Java SE/EE 应用 full-stack 轻量级开源框架,以 IoC(Inverse Of Control:反转控制)和 AOP(Aspe

weixin_45077780的博客 773
上一篇: 我的见解之hibernate(十三)
下一篇: Spring(二):IOC和DI
Java_Soldier
博客等级 码龄10年 27粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值