个人理解:
Spring 最基本的的功能是提供通过配置管理任意类,提供了Bean管理容器。这也是Spring最基础,最核心的功能,在Spring框架中,一切皆为Bean,实际上在我们的日常开发中,往往更多的是和Bean相关的开发,并且都是短生命周期,除了一些缓存功能,其他很多重要的功能都是由开源框架完成。
实现方式也是框架常用的反射机制,因此使用Spring前提在JVM启动参数中不能加安全管理配置。
Spring中所有的Bean相关配置均为一个文件,非常集中,个人感觉这有利有弊,利大于弊。
统一配置比较方便集中,我最近的项目就是有很多子系统,除了一些公用的配置文件,还有很多子系统的配置文件,每次迁移环境是非常累的事,如果只有一个配置文件,那工作就会轻松多了。
缺点也就在于很集中,如果配置有误,整个系统不可用,这种情况往往发生在系统升级阶段,也比较少,即使出现问题也比较好定位。
Spring提供了Bean管理容器,这个功能可以大大简化业务系统的配置开发工作。
个人感觉将来的开发工作更多的是配置,编写业务相关的Bean以及业务方法,其他功能均会有很多优秀的开源框架实现,重要的工作是选择符合项目的框架、熟悉框架,最重要的还是苦修内功,深入学习java,因为万变不如其中,再说开源不是万能的,有时候还是要靠自己的。
学习心得:
Spring提供三种创建类实例方法:
a、通过构造函数,访问属性可以是任意
b、通过对应类的静态工厂方法,注意不能是私有的
c、通过工厂类的实例工厂方法,是非静态的方法
-、bean节点相关主要属性:
id/name 实例名/别名
class 必须、类全名
singleton 是否为单实例,默认为true
init-method 初始化方法
depends-on 指定依赖Bean,实现在被依赖Bean实例创建前,对依赖的一个或多个Bean的实例化,
init-method在对应Bean实例已经创建后调用
destroy-method 释放回调方法,常用于资源释放
dependency-check 依赖检查
parent 指定父Bean实例,减少因继承关系的重复配置
说明除配置init-method,destory以外,可以在对应Bean中实现InitializingBean,DisposableBean两个接口方法
Spring容器不负责管理非单实例的Bean
配置bean事项:
1、注意在通过构造器参数匹配时,必须指定参数的序号,同时建议明确说明类型,
<constructor-arg index="0"><value>128</value></constructor-arg>
<constructor-arg index="1"><value>teststring</value></constructor-arg>
最好说明相关参数类型类型
<constructor-arg index="0" type="int"><value>128</value></constructor-arg>
<constructor-arg index="1" type="java.lang.String"><value>teststring</value></constructor-arg>
可以使用简化配置
<constructor-arg index="0" type="int" value="128"/>
<constructor-arg index="1" type="java.lang.String" value="testString"/>
2、属性为空
<property name="pro1><null/></property>
3、空串
<property name="pro1><value></value></property>
二、常用elements
bean | ref | idref | value | null | list | set | map | props
说明:
bean 创建一个新的bean实例
ref 引用已经创建的bean实例
value 简单数据类型
null 空指针
list 创建java.util.ArrayList对象实例
set 创建java.util.LinkedHashSet对象实例
map 创建java.util.LinkedHashMap对象实例
props 创建java.util.Properties实例
list,set,map可以多层嵌套配置
遗留问题:
idref 配置没有起作用,类似value配置,测试输出为字符串对象,是否配置不正确?
上述配置范围基本覆盖了我们开发时的bean使用情况,详见配置可以参考dtd
http://www.springframework.org/dtd/spring-beans.dtd
ApplicationContext 继承于BeanFactory相关接口,针对企业应用级的,占有内存较多
BeanFactory 提供配置框架和基本功能,适用于对内存有限制的相关应用
功能:
1、提供消息访问,ApplicationContext 本身继承于MessageSource接口,
ApplicationContext 加载时查找对应的MessageSource Bean, bean id 必须为messageSource
Spring框架提供两个MessageResource实现:
org.springframework.context.support.ResourceBundleMessageSource
org.springframework.context.support.StaticMessageSource
2、事件传递
3、使用资源
分享到:
相关推荐
在IT领域,Spring框架是Java开发中的一个基石,尤其在企业级应用开发中占据了主导地位。它以其强大的依赖注入(IOC)和面向切面编程(AOP)特性,为开发者带来了极大的便利。本教程将通过一系列的案例,从基础到深入...
本篇文章将重点围绕“Spring框架的学习--事务”这一主题,深入解析Spring中的事务管理机制。 首先,事务在数据库操作中扮演着至关重要的角色,确保数据的一致性和完整性。事务具有四大特性,通常被称作ACID(原子性...
首先,Spring Boot是基于Spring框架的快速开发工具,它简化了Spring应用的初始搭建以及配置过程,使得开发者可以专注于业务逻辑,而无需过多关注基础设施的配置。通过在项目中引入Spring Boot,我们可以快速创建一个...
本项目"springcloud-Netflix-eureka demo"提供了一个基于Spring Boot搭建的基础服务框架,旨在帮助开发者理解和学习如何使用Eureka进行服务注册与发现,以及Ribbon客户端负载均衡。 首先,我们来看Eureka。Eureka是...
"spring-framework-master"这一压缩包包含了Spring框架的完整源码,为我们提供了深入理解这一强大工具的绝佳机会。 Spring的核心设计理念是依赖注入(Dependency Injection,简称DI),它通过反转控制(Inversion ...
Spring Boot作为Java领域的一个热门框架,以其简洁的配置和快速的应用开发能力赢得了广大开发者喜爱。"spring-boot-samples-master"这个项目,正是一个集大成的Spring Boot示例仓库,它包含了各种Spring Boot应用...
Spring框架是Java开发中最广泛应用的轻量级框架之一,它以IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面编程)为核心理念,极大地简化了企业级应用的开发工作。4.3.4版本是...
在"spring-framework-4.3.6.RELEASE-dist.zip"中,我们找到了Spring框架的4.3.6版本的发布包。 这个版本的Spring框架包含了许多组件和模块,它们共同构成了Spring生态系统的基石。首先,让我们深入了解其中的主要...
开发者可以通过这些文档快速学习如何使用Spring框架的各种功能,理解其工作原理,解决在开发过程中遇到的问题。 4. **Spring-5.2.15.RELEASE-schema.zip**:这个文件可能包含了Spring框架配置文件的XML Schema定义...
Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...
Spring是一个广泛使用的Java开发框架,而Spring Android是Spring为Android平台提供的扩展库,它允许开发者利用Spring框架的功能来构建Android应用。"spring auth"指的是Spring Security,它是Spring生态中的安全组件...
SpringDM(Spring Dynamic Modules)是Spring框架的一个扩展,专门用于OSGi(Open Service Gateway Initiative)环境中的应用程序开发。OSGi是一种Java模块化系统,它允许开发者将应用程序拆分成独立的、可热插拔的...
### 一、Spring框架概述 Spring 是一个开源框架,最初由 Rod Johnson 创建,后来成为 SpringSource(现已被 Pivotal 软件公司收购)的核心项目。Spring 框架提供了一个全面的编程模型,并且支持多种开发模式,包括...
《Spring4 In Action》是Spring框架的经典学习资料,第五版的2.2章节聚焦于Spring MVC,它是Spring框架用于构建Web应用程序的核心模块。 Spring MVC是一种基于模型-视图-控制器(MVC)设计模式的轻量级Web框架,它...
Spring框架是Java开发中不可或缺的一部分,它为构建企业级应用提供了全面的解决方案。Spring 4.2.4.RELEASE是该框架的一个稳定版本,包含了多项改进和修复。在这个压缩包中,我们可以找到多个关键组成部分,有助于...
本例子“spring代码例子--精选”旨在为初学者提供一个简单易懂的起点,帮助他们快速理解和掌握Spring框架的基本用法。 首先,让我们深入了解一下Spring框架的核心概念。Spring框架主要由以下几个模块组成: 1. **...
通过这个项目,你可以学习到Spring Boot的基本架构、依赖注入、自动配置、RESTful API设计、数据库交互(JPA或MyBatis)、单元测试和集成测试等核心概念。此外,如果项目包含额外的工具或脚本,你还能了解如何自动化...
Spring Boot CLI(命令行接口)是Spring框架的一个重要组成部分,专为简化Spring应用程序的初始搭建以及开发过程而设计。在“spring-boot-cli-1.4.3.RELEASE-bin.zip”这个压缩包中,包含了Spring Boot CLI的可执行...
1. **Spring Boot**: 是Spring框架的一个扩展,它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Java应用的初始搭建以及开发过程。 2. **Spring Cloud**: 基于Spring Boot设计的一系列微服务解决方案,...
标题 "Spring Web Services 框架入门研究--发布服务" 提到的是关于使用Spring框架构建Web服务的内容。Spring Web Services是Spring生态体系中的一部分,它专注于创建基于SOAP(Simple Object Access Protocol)的互...