Spring学习总结

Spring IoC源码学习:总览 前言 Spring 作为现在最优秀的框架之一,被广泛的应用于 Java 项目中,但是大多数人都只知道如何使用,而不知其中的原理。对大多数人来说可能知道如何使用已经足够了,但是对于想提升自己的人来说,学习 Spring 的源码是一个不错的选择。在过去的几个月里,我利用空闲时间将 IoC 的相关源码学习了一下,按照老习惯准备整理成笔记,以博文的形式记录下来,供自己以后使用,也供其他网友参考。由于涉及... 阅读详情

说是原创其实也算是摘抄,Spring的学习是从《Spring解密》那本书中的提取出来的一些自认为能用的到的内容,该书是以Spring2.5为基础讲解的,内容讲的很扎实,假如你对Java语言的编写能够灵活运用,那么理解此书应该不成问题,要不然会有种看不下去的感觉,接下来我会陆续更新该篇文章的内容,把一些书中的讲解的重要内容,和自己的应用感受都写一下。目的一个学会应用Spring。

 No1.关于国际化资源的问题。

      首先关于资源文件的就是一个普通的.properties文件,该文件的路径需要自己来定,例如我把资源文件放进了包名为com.app.resources下面。而且资源文件名称是以messages开头的。那么我们在给MessageResource实现类(一般应用的就是ResourceBundleMessageResource)给其属性值basename设定为com.app.resources.messages,这些配置均在配置文件之中

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
	xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xmlns:task="http://www.springframework.org/schema/task"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
			http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
			http://www.springframework.org/schema/context 
			http://www.springframework.org/schema/context/spring-context-3.0.xsd
			http://www.springframework.org/schema/aop 
			http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
			http://www.springframework.org/schema/tx 
			http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
			http://www.springframework.org/schema/mvc 
			http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
			http://www.springframework.org/schema/context 
			http://www.springframework.org/schema/context/spring-context-3.0.xsd
			http://www.springframework.org/schema/task
			http://www.springframework.org/schema/task/spring-task-3.0.xsd"
			>
    <!--文件资源加载-->
    <bean id="test1" class="com.app.bussiness.TestResource" p:source="file:src/content/test.txt"></bean>
<!--国家化资源加载-->
    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource" p:basename="i18Resources.messages"></bean>
    </beans>
三种MessageResource实现类的应用,StaticMessageResource,ResoruceBundleMessageResoruce,ReloadableResourceBundleMessageSource

照书上的说法是 第一个类是对MessageSource的简单实现,可以通过编程的方式添加多个条目,多用于测试,不用于生产

                            第二个类是对AbstractMessageSource的行为进行了扩展。在实际应用之中应用的最多的就是该类,

                            第三个类该类用用cacheSeconds属性,该属性可以根据制定时间段加载并刷新指定的属性文件。

StaticMessageResource resource=new StaticMessageResource()

resoruce.addMessage("name",Locale.US,"nameValue");

resoruces.getMessage("name",null,Locale.US);

ResourceBundleMessageResource resoruce=new ResourceBundleMessageResource();

resource.setBasename(new String[]{"conf/messages"});//从Classpath路径下加载

ReloadableMessageBundleMessageResource reloadMsg=new ReloadableMessageBundleMessageResource();

reloadMsg.setBasename("conf/msg");//从文件系统之中加载

Spring最基础的家在资源是普通的文件加载,Resources就是实现该功能的接口

但是在实际应用的时候我们会采用ResourceLoader resource(PS:当然这个是最基础的,我们实际也会采用ResourceLoaderAware);实际的应用和上面的代码差不多。当然这里面有一些问题,就是你要查找的路径下的文件路径一定要存在,文件的存在与否决定你在调用getFile()或者getInputStream()是否成功。还有想新建文件可以通过上述类getFile方法成功之后在调用getpath(),该类本身也有getpath()和getUri()方法。这样可以用来在同一目录下创建新的文件。



学习Spring Boot,应该从哪里开始学起 学习Spring Boot,应该从哪里开始学起记住,学习是一个持续的过程,不要害怕遇到困难和挑战。通过不断的实践和探索,你会逐渐掌握Spring Boot的精髓。 阅读详情

相关推荐

【STM32Cube HAL】输入捕获(六)——脉宽测量

1

HAHAHA 4907

Spring中ReloadableResourceBundleMessageSource的使用

随时随地阅读更多技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)、博主微信(guyun297890152)、QQ技术交流群(183198395)。 from:https://blog.youkuaiyun.com/u011955252/article/details/52893718 如何在springmvc框架中实现MessageSource来管理国际资源文件呢 ...

孤云博客 3172

OpenClaw(原Clawdbot/Moltbot)本地部署快速指南

支持Telegram、Slack、Discord、iMessage等多平台接入,通过配置文件或环境变量填写对应平台的Token,配置后执行。支持对接OpenAI、Anthropic、阿里云百炼等云端模型,也可搭配Ollama使用本地模型。默认仅允许已配对用户交互,群聊场景建议开启Docker沙箱模式,在配置文件设置。执行后跟随指引确认安全说明,进入QuickStart模式,默认网关端口为。可查看已加载模型,通过绑定的通讯通道发送测试指令,响应正常即部署完成。,限制非主会话操作权限,提升安全性。

wukangjupingbb的博客 8476

使用Spring的ReloadableResourceBundleMessageSource读取properties配置

应用: 1.后台验证提示信息; 2.异常信息。 spring配置文件如下: message-resource即为classpath下的message-resource.properties文件。 接下来定义我们自己的MessageUtil类来使用Spring的MessageS

Donny的专栏 5473

GDI文字绘制和windows下opengl文字绘制小结

GDI绘制文字,要设置文字的属性,主要就是通过设置DC中的font对象来实现的。 font对象的创建可以由createfont()、createfontIndirect()来实现。 HFONT CreateFont( int nHeight, // height of font int nWidth, // average

T_W_S的专栏 5321

基于YOLOv8的植物生长阶段识别系统设计与实现

本文详细介绍了一个基于YOLOv8深度学习模型的植物生长阶段识别系统,包含完整的数据集构建、模型训练、评估以及基于PyQt5的用户界面开发过程。系统能够自动识别植物在不同生长阶段(如发芽期、生长期、开花期、结果期等)的形态特征,为精准农业和智能种植提供技术支持。文章提供了完整的代码实现,并讨论了模型优化策略和实际应用场景。关键词:植物生长阶段识别、YOLOv8、目标检测、PyQt5、深度学习。

YOLO 465

spring中MessageSource的配置使用方法2--ReloadableResourceBundleMessageSource

如何在spring mvc框架中实现MessageSource来管理国际资源文件呢 如下: 1.在applicationContext.xml文件内配置如下 [java] view plaincopy "font-size:14px;">"messageSource" class="org.springframework.context.

u014704496的专栏 618

华为OD机试 - TLV格式(Python/JS/C/C++ 2025 C卷 100分)

两端通过TLV格式的报文来通信,现在收到对端的一个TLV格式的消息包,要求生成匹配后的(tag,length,valueOffset)列表。和需要匹配的n个tag对应的n行匹配结果,每一行由长度和偏移量组成。第二行:需要匹配的tag数量n(0 < n < 1000)后面N行:需要匹配n个tag值(十进制表示),递增排列。标签10(0A)存在,长度3,valueOffset=2。标签15(0F)长度4,valueOffset=2。标签14(0E)长度2,valueOffset=8。

学Java,找哪吒 2038

如何学习 Spring ?学习 Spring 前要学习什么?

学习完java核心技术卷一后该掌握什么知识才能学习spring? 学习完Java基础,想要继续学习JavaWeb的基础,我推荐的是下面这个路线(有帮助,记得点赞!): 一、学习Servlet和Tomcat •Servlet+Tomcat •Tomcat就是这么简单 •Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】 •Se...

weixin_33937499的博客 1万+

28、基准剂量法:原理、应用与计算详解

本文详细介绍了基准剂量法(BMD)的原理、在监管机构中的应用以及具体的计算方法。内容涵盖样本量与BMD的关系、主要监管机构如EPA对BMD的应用、BMD的模型选择与数据拟合过程、拟合优度评估、下置信限(BMDL)计算,以及实验设计对BMD结果的影响。同时,还讨论了剂量指标和响应选择的关键问题,为理解和应用基准剂量法提供了全面的参考。

info6的博客 280

一[3.3]、ubuntu18.04环境 利用 yolov8 实现列车轨道检测,并提取正确的轨道线【全网最详细】

【代码】一[3.3]、ubuntu18.04环境 利用 yolov8 实现列车轨道检测,并提取正确的轨道线【全网最详细】

努力努力努力 258

Spring源码学习大纲

通过以上大纲的学习,可以方便掌握Spring源码的核心设计与实现,提升对Spring框架的深入理解。

专注于技术分享 663

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

spring学习

AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。没有IoC的程序中,我们使用面向对象编程,对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。采用XML方式配置Bean的时候,Bean的定义信息是和实现分离的,而采用注解的方式可以把两者合为一体,Bean的定义信息直接以注解的形式定义在实现类中,从而达到了零配置的目的。

m0_54597180的博客 1727

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

怎么学习spring架构源码

学习Spring框架源码是一项复杂但非常有价值的任务,它可以帮助你深入理解Spring的设计原理、实现机制以及最佳实践。

weijiasihai的专栏 856

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

如何学习Spring

如何学习Spring1、如何学习Spring? 你可以通过下列途径学习spring: (1) spring下载包中doc目录下的MVC-step-by-step和sample目录下的例子都是比较好的spring开发的例子。 (2) AppFuse集成了目前最流行的几个开源轻量级框架或者工具Ant,XDoclet,Spring,Hibernate(iBATIS),JUnit,Cactus,S

首席技术执行官CTO(Chief Technology Officer)|技术总监--邓斌博客 1886

关于Spring框架的学习

 接触Spring框架差不多快两年多的事,尤记得当时,关于Spring的书籍还不多,而文件分散于网路的各个角落,为了通盘了解Spring,在Google上一遍又一遍的来往收集,拼凑出Spring全图。就技术上而言,我绝不是Spring的真正高手,然而就资讯收集与文字整理的功夫,说我投入很大的心力倒是真的,在学习Spring的过程中,文件收集、实作尝试、观念厘清等,都花上了不少功夫,我将这些功夫的所

林信良(良葛格)的专栏 1万+

Spring学习

Spring是主流的Java EE 轻量级开源框架,把功能整合在一起的一个框架,并且做的很好。

qq_54028256的博客 356

我的Spring学习经验

引言 Spring是一个开源的Java框架,它提供了一种简化企业级应用开发的方式。我在学习过程中积累了一些经验,希望能与大家分享。 一、学习Spring的具体内容 学习Spring的具体内容通常涵盖以下几个方面: Spring框架介绍:学习Spring框架的概念、目标和优势,了解其在企业应用开发中的作用。 核心容器:学习Spring的核心容器,包括应用上下文(ApplicationContext)、BeanFactory等,掌握如何配置和管理Spring中的对象。 控制反转(IoC):学习IoC

DD_2329581962的博客 299

spring框架学习

Spring是一个开源的、轻量级的容器(包含并管理对象的生命周期)框架Spring是为了解决企业级开发中业务逻辑层中对象之间的耦合问题Spring的核心是IOC和AOP。

weixin_74236078的博客 763

spring学习计划

Spring学习计划说明:其中每个模块的讲解一般涉及的方面1)     为什么?解决哪些问题、优势。。。2)     实现原理3)     在阅读源码过程中,可以将其中的设计模式或者代码的风格讲解大致分了几个模块如下:IOC1.IOC的具体实现,spring源码是怎样讲对象创建好并注入到我们的业务代码中的,完整的过程?(如果能结合我们在开发中使用他的这种思想来改造我们现有的代码更好)ioc应该和d

三十岁“开始”学Java 812

spring security学习入门指引

了解认证(Authentication)、授权(Authorization)、加密(Hashing/Encryption)、会话管理(Session Management)等术语。先掌握 Spring Core、Spring MVC 和 Spring Boot 的基础,理解依赖注入(DI)、AOP、Bean 生命周期等核心概念。分析 GitHub 上的 Spring Security 项目(如 Spring官方示例、Spring Security Demo)。依赖,观察默认的安全行为(如自动生成的密码)。

LCY133的博客 1152
上一篇: According to TLD or attribute directive in tag file, attribute value does not accept any expressions
下一篇: request.getParameter() 和request.getAttribute() 区别
轻鸿飘羽
博客等级 码龄16年 124粉丝 74原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值