1.定义:
Spring是一个开源的控制反转(IOC)和面向反切(AOP)的容器框架,主要用于简化企业开发,可以适用于任何java应用程序。使用框架的主要优势在于其分层架构,分层架构允许选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。
2.优点:
1 降低组件之间的耦合度,实现软件各层之间的解耦。
2 可以使用容器提供众多的服务(事务管理服务、消息服务)。
3 容器提供单例模式支持,开发人员不再需要自己编写实现代码。
4 容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能。
5 容器提供众多辅作类,使用这些类能够加快应用的开发。
6 Spring对于主流的应用框架提供了集成支持,便于应用开发。
3.模块组成:
1 核心容器:提供Spring框架的基本功能,BeanFactory是其主要组件,它是工厂
模式的实现。BeanFactory使用控制反转模式将应用程序的配置和依赖性规范与实
际的应用程序代码分开。
2 Spring上下文:是一个配置文件,向Spring框架提供上下文信息。
3 Spring AOP:直接将面向方面的编程功能集成到Spring框架中,为基于Spring的
应用程序中的对象提供了事务管理服务。
4 Spring DAO:提供了异常层次结构,可用该结构来管理异常处理和不同数据库
供应商给定的错误信息。简化了错误处理,且大大降低了需要编写的异常代码数
量。
5 Spring ORM:提供ORM的对象关系工具,遵从Spring的通用事务和DAO异常层次
结构。
6 Spring Web:建立在应用程序上下文模块之上,为基于Web的应用程序提供了上
下文,简化了处理多部分请求以及将请求参数绑定到域对象的工作。
7 Spring MVC:是一个全功能的构建Web应用程序的MVC实现。
Spring模块构建在核心容器之上,核心容器定义了创建、配置和管理bean的方
式。每个模块都可以单独存在,也可以与其他模块联合实现。
不经意找到一个很不错的例子来说明Spring框架的作用:
首先写下两个Bean类:
ExampleBean类:
public class ExampleBean {
private String psnName=null;
private RefBean refbean=null;
private String addinfo=null;
public RefBean getRefbean() {
return refbean;
}
public String getAddinfo() {
return getRefbean().getAddress()+getRefbean().getZipcode();
}
public String getPsnName() {
return psnName;
}
public void setPsnName(String psnName) {
this.psnName = psnName;
}
public void setRefbean(RefBean refbean) {
this.refbean = refbean;
}
public void setAddinfo(String addinfo) {
this.addinfo = addinfo;
}
}
RefBean类:
public class RefBean {
private String zipcode=null;
private String address=null;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public String getZipcode() {
return zipcode;
}
public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}
}
其xml配置文件 Bean.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="exampleBean" class="test.ExampleBean">
<property name="psnName"><value>xkf</value></property>
<property name="refbean">
<ref bean="refBean"/>
</property>
</bean>
<bean id="refBean" class="test.RefBean">
<property name="address"><value>BeiJing</value></property>
<property name="zipcode"><value>100085</value></property>
</bean>
</beans>
测试类Test:
public class Test {
public static void main(String[] args){
try{
Resource input = new ClassPathResource("test/Bean.xml");
System.out.println("resource is:"+input);
BeanFactory factory = new XmlBeanFactory(input);
ExampleBean eb =
(ExampleBean)factory.getBean("exampleBean");
System.out.println(eb.getPsnName());
System.out.println(eb.getAddinfo());
}
catch(Exception e){
e.printStackTrace();
}
}
这样,通过BeanFactory的getBean方法,以及xml配置文件,避免了在test类中直接实例化ExampleBean,消除了应用程序(Test)与服务(ExampleBean)之间的耦合,实现了IOC(控制反转)或者说依赖的注射(Dependency Injection)。
分享到:
相关推荐
这里的“柜架”可能是指框架(framework),即一种用于开发应用程序的基础结构。开源柜架通常是指开源社区中可用的软件框架,开发者可以基于这些框架快速构建应用程序。 ### 开源柜架的重要性 开源柜架在现代软件...
这通常通过多边形建模来完成,即通过创建基础形状(如立方体、圆柱体等)然后进行切割、拉伸、挤压等操作,塑造出柜架的复杂结构。对于细节部分,如雕刻花纹或者柜门的凹凸感,可能需要用到细分表面或雕刻工具来增加...
【中式双开门柜架模型】是一种专为3D古典柜架设计所打造的虚拟模型,广泛应用于室内设计、游戏制作、影视特效等领域。这个模型以其独特的中式风格,展现了中华传统文化的韵味,为设计师们提供了丰富的创作素材。 在...
电子政务-柜架组装式电气柜.zip
Spring Core是Spring框架的基础,它包含IoC容器和AOP核心。IoC容器管理对象的生命周期和依赖关系,使得代码更加松耦合;AOP则允许开发者在不修改原有代码的情况下插入额外的功能,如日志、事务管理等。此外,Spring...
2. **标准化管理**:文件的收集、整理、立卷和归档均遵循国家和地方标准,使用了符合要求的档案柜架,保证了档案的质量和结构合理性。 3. **借阅利用**:建立了完善的借阅和利用登记制度,提高了档案的利用率,尤其...
《信息系统项目管理师资料》是一份综合性的学习资源,涵盖了模拟试题、专业英语、整体架构以及过程说明等多个关键领域,对于准备考取信息系统项目管理师(Certified Information Systems Project Manager, CISPM)...
模板介绍: 橙色风格的货架展柜公司模版,风格美观,结构简洁,设计感强,适合做展览,展柜、展厅、装修设计等产企业网站建设。 宽度:1000px 对齐:居中 主色:橙色 结构:div+css 运行环境:asp.net2.0(或以上) ...
- 集成Spring框架进行依赖注入和事务管理。 - 使用Ajax技术实现部分页面的异步更新,提升用户体验。 - 考虑SEO(搜索引擎优化)友好性,避免过度使用JSP动作标签。 在开发过程中,还需要关注性能优化、安全性、易用...
在化学学习中,化学式与化合价是两个非常重要的概念,尤其对于九年级的学生来说,理解和掌握这些基础知识至关重要。本文将详细阐述这两个概念及其相关知识。 首先,化学式是用元素符号和数字的组合来表示物质组成的...
为了使设计人员更好地熟悉和了解GGD柜型的特点和性能,提高设计人员的综合素质和业务能力,特将此柜型的电气性能和机械性能以及在设计中的注意事项总结如下,供大家参考使用。 主要结构性能 柜体骨架采用8MF冷弯型材...
通过这些严格的规定和步骤,高低压成套开关设备的装配工艺得以规范化,保证了产品的质量和安全,为电力系统的稳定运行提供了坚实的基础。同时,强调了清洁工作现场、自检和清理遗漏零件的重要性,以确保最终产品的...
9. **柜架布局**:柜架在库房内应与墙壁保持一定距离,以利于通风和避免墙面湿气直接影响档案。 10. **通道宽度**:库房内柜架之间的通道一般为0.9至1.2米,便于档案管理和人员活动。 11. **竣工验收**:建立工程...
1. **结构合理,技术水平高**:采用优质敷铝锌钢板或冷轧钢板制造,通过精密连接形成柜架。其额定载流量、分断能力和动热稳定性优于其他低压开关柜,且维护简便,安全性高。 2. **防护性能优越**:MNS开关柜设计为...
【档案管理述职报告】是公文写作中的一种特殊形式,主要用于个人就其负责的档案管理工作进行汇报和总结。以下是对报告中涉及的知识点的详细解释: 1. **档案管理的重要性**:档案管理工作是机关、企事业单位的基础...
测绘资质是中国境内从事测绘活动的企业或单位必须具备的合法凭证,是确保测绘工作规范、安全进行的重要前提。在2022年的最新规定下,申请测绘资质的过程中,企业需要建立并完善三个核心体系:信息安全保障措施和管理...
总结来说,配电柜生产工艺的设计标准涵盖了元器件的选择、柜体结构的装配、电气安全要求、元件的安装细节以及文明生产规定,这些都是保证成套开关设备质量的基石。通过严格遵守这些标准,可以确保配电柜的性能稳定,...
在结构设计方面,服务中心采用了柜架结构体系,其基础部分选择了人工挖孔嵌岩灌注桩,这些桩基不仅支撑整个建筑物,而且具有良好的稳定性。不同部位的混凝土强度等级各有不同,例如柱、梁、板为C30,而基础梁则为C25...
首先,改建项目的基础是必须遵循中华人民共和国以及省、市、行业相关的法规和规范。这不仅包括了建筑设计领域的法规,也涵盖了文物保护、环保、消防安全等诸多方面。改建工程需要将文物库房的功能性、安全性、环保性...