`
qiushyfm
  • 浏览: 97609 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Spring学习笔记1--简介及入门例子

阅读更多

Spring是为了简化EJB(声明式的编程模型)开发而出现的解决方案,

首先要明确的给出Spring一个定义:Spring是一个轻量级的IoC和AOP容器框架。这个定义主要表现在:

  1. 非侵入式的,基于Spring开发的系统中的对象一般不依赖与Spring类,
  2. Spring提倡使用反向控制IoC来实现松耦合,也就是被动接受依赖类。
  3. 面向切面AoP
  4. 是一个容器,因为它包含并管理系统对象的生命周期和配置。
  5. 它是一个框架。

Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式

Spring

组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:

  • 核心容器 :核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory ,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。
  • Spring 上下文 :Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。
  • Spring AOP :通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
  • Spring DAO :JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。
  • Spring ORM :Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
  • Spring Web 模块 :Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
  • Spring MVC 框架 :MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。(以上部分来自IBM)

下面来用Spring实现一个那个最常见最无奈的程序Hello World!

1:先写一个问候的接口(实现与接口分离是好的习惯)

2:实现类的编写

3:Spring配置文件的编写

在XML文件在Spring容器中声明了一个GreetingServiceImpl的实例,并且将Hello world!的值赋给greeting属性。

4:编写主类

这样一个简单的不能在简单的Spring例子就完成了。它将一个字符串注入到了bean中。

不过Spring真正的威力是如何使用IOC将一个Bean注入到另一个Bean中。

0
0
分享到:
评论

相关推荐

    spring-boot-01-helloworld.zip

    Spring Boot学习笔记-------(二)spring boot入门,配套例子代码,博客地址:https://blog.csdn.net/huaya1127/article/details/104130300

    Spring Boot 笔记

    ### Spring Boot 笔记 #### 一、Spring Boot 概述与入门 ##### 1.1 Spring Boot 的定义与特点 - **定义**: Spring Boot 是 Spring 社区的一个新项目,旨在简化基于 Spring 的应用程序和服务的开发过程。它提供了...

    Spring经典笔记

    本笔记主要关注Spring的基础知识,特别是针对初学者的入门实例。 2. **Spring之旅** 在开始Spring之旅之前,首先需要建立一个开发环境。通常,这包括安装Java开发工具(JDK),配置Java环境变量,然后选择一个集成...

    学习spring时的笔记

    【Spring 框架概述】 Spring 是一个广泛使用的开源Java开发框架,由Rod Johnson在其...随着学习深入,Spring的更多高级特性,如Spring Boot、Spring Data、Spring Security等,都会进一步提升开发效率和应用的健壮性。

    基于注解的spring_3.0.x_MVC学习笔记

    在本篇基于注解的Spring 3.0.x MVC学习笔记中,我们将深入探讨Spring MVC在3.0版本中的变化,以及如何通过注解实现快速开发。Spring 3.0.x相较于2.5版本有着显著的改进,尤其在MVC模块上,提供了更加灵活和强大的...

    Spring2.5、3.0、3.1轻松入门+中级+高级教程14合一

    - **基于注解的spring_3[1].0.x_MVC学习笔记**: 这份笔记将详细解释Spring 3.0.x版本中的注解驱动开发,包括依赖注入、AOP和数据绑定等。 - **Spring入门教程**: 这是Spring框架的基础教程,涵盖了Spring的核心概念...

    SSH(Struts+spring+hibernate)整合资料

    java(1) 整合入门(spring,struts,hibernate的整合)资料(1) 中大软件工厂项目前培训资料(1) 完整笔记+源码(1) ssh(1) C#查询参数化例子(1) 学习笔记+完整源码(1) 介绍与深入(1) 学习笔记(不含整合)(1) C#(1) .CHM格式...

    java超强学习笔记

    "Java超强学习笔记"的详细程度表明,它不仅适合初学者入门,也对有一定经验的开发者有价值,因为它可能深入讨论了每个主题,并给出了实用的例子和实践指导。通过研读这份笔记,读者将能够系统地掌握Java编程,并有...

    springboot_笔记

    【Spring Boot 入门笔记】 在当今的软件开发领域,Spring Boot 已经成为Java企业级应用开发的首选框架,其简洁的配置和快速启动的特点深受开发者喜爱。本笔记主要针对Spring Boot的基础知识进行讲解,旨在帮助初学...

    spring-demo:Spring框架学习与分析研究,附带可运行的引用示例,创建这个仓库的初衷,是因为网上的内容太碎片化了,我尝试来一个集大成者,在一个地方就能弄清楚所有的问题

    Spring学习笔记 这是一个Spring框架应用示例工程,里面写了大量的注释,对于我们理解和掌握Spring的一些关键特性是非常有帮助的。 这也是我学习和理解Spring的一个过程,分享出来给有这方面需求的同学快速入门,希望...

    hibernate学习笔记

    这篇学习笔记将深入探讨Hibernate的基础和关键特性,包括其核心概念、配置、注解使用以及ORM的核心原理。 1. **Hibernate概述** Hibernate是一个开源的ORM框架,由Gavin King创建,它通过提供一个接口,让开发者...

    leetcode中国-java-notes:Java技术摘要(个人学习笔记),主要记录一些Java及面试相关的知识点。包括Java基础、Jav

    大数据入门指南(基本的入门指引) 来自微软的系统设计笔记,国人翻译 一位博主的系统设计总结(很久未更新,可做参考) 挺用心的一个 Java 博主,解读 Java 相关技术 美团技术团队永远的神,深度解读技术

    SpringBoot(入门篇)资料.rar

    总的来说,这份压缩包提供了SpringBoot入门所需的基本概念、实践示例和学习笔记,对于希望了解和学习SpringBoot的人来说是一份宝贵的资源。通过深入理解和实践这些内容,你可以掌握SpringBoot的核心特性,并能快速...

    sitemesh入门demo

    这个demo是基于博主的**Sitemesh入门和使用笔记**,提供了对应的源码供学习者实践和参考。以下是关于Sitemesh的详细讲解: 1. **安装与配置** - 首先,你需要将Sitemesh的JAR文件添加到你的项目类路径中。这可以...

    swing界面设计之JTree

    #### (十七) Swing 学习笔记 **Swing API 包括18个公共包**:涵盖了Swing中各种组件、布局管理器等。 - **例程1.1 HelloWorldSwing.java**:最简单的Swing程序示例。 - **例程2.2 HelloWorldJFrame.java**:...

    word源码java-practice:这个项目是记录自己平常的一些练习

    security和angular代理跨域入门例子 练习11 oauth2练习例子 练习12 数百万行Mysql条件查询优化练习例子 练习13 docker的练习例子及记录 练习14 Spring Boot + Quartz单机版的任务调度系统 练习15 S

    k8s-mastery:文章“在3小时内学习Kubernetes”的存储库

    描述中提到的“存储库”可能是一个GitHub仓库,其中包含了一系列学习资源,如源代码、笔记或教程。"Sentiment Analysis应用程序"是一个示例项目,它可能利用自然语言处理技术来分析文本情感。这个例子可能用来展示...

    第一个SSM项目,使用SSM框架完成书籍的增删改查操作

    1. **Spring**:负责管理Bean,如DAO、Service等,提供依赖注入(DI)和面向切面编程(AOP)功能。 2. **SpringMVC**:作为Web层的控制器,处理HTTP请求,调用Service进行业务处理,并将结果返回给客户端。 3. **...

Global site tag (gtag.js) - Google Analytics