笔记--Spring in action
第一部分 Spring 的核心
Spring 的主要特性是依赖注入(DI)和面向切面编程(AOP)
第一章 开始Spring 之旅
javabeans 为JAVA定义了软件组件模型。这个规范规定了一系列的编码规范,这使简单的java对象可以被重用,并且很容易就组成比较复杂的应用。
但复杂的应用往往是一些服务,如事物支持、安全、分布计算等,这些服务是javabeans 无法直接提供的。
目前,EJB已经能够提供基于POJO(plain old java object)的编程模型,其利用了像DI和AOP那样的思想,使得最新的EJB规范要比前者简化很多。负责轻量级POJO 开发就是spring 框架。
1.1
Spring是一个轻量级的DI和AOP 容器框架:
轻量级
依赖注入(DI)对象是被动接收依赖类而不是自己主动去找:对象不是从容器中查找它的依赖类,而是容器在事例化对象的时候主动将它的依赖类注入给它
面向切面:通过将业务逻辑从应用服务(如监控和事物管理)中分离出来,实现了内聚开发。应用对象只做——业务逻辑,它们不负责系统问题(如日志和事物支持)
容器——因为它包含并且管理应用对象的生命周期和配置。
框架:实现了使用简单的组件配置组合成一个复杂的应用。应用对象是通过xml 文件配置组合起来的。
Spring 模块
由7个模块组成。
1)核心容器:规定如何创建、配置和管理Bean以及很多Spring的具体细节。找到BeanFactory 类,它是最基本的spring容器和spring 的di 所依赖的基础。
2)Application Context模块
使Spring成为框架,提供了很多企业级服务,如电子邮件服务,JNDI 访问,EJB集成,远程调用以及定时服务,并且支持与模板框架的集成。
3)AOP模块
为了Spring 应用开发切面的基础,与DI 一样,AOP支持应用对象之间的松耦合
4)JDBC抽象及DAO模块
让数据库代码简单明了;还建立了一个容易理解的数据库异常层。
5)ORM(object-relational mapping)映射集成模块
建立在DAO的支持之上,并可以方便地构建适合几个ORM解决方案的DAO.Spring 不想实现自己的ORM解决方案,但是它为许多流行的ORM 框架做了钩子程序,包括Hibernate,java persistence API,JDO和iBATIS SQL映射。
6)java 管理扩展(JMX)
如何方便地展现java应用的内在工作流程以便于管理。
7)java EE连接器API(JCA)
8)MVC框架
9)Portlet MVC
10) WEB 模块
11)远程调用
12)消息服务(JMS)
1.2开始Spring之旅
依赖注入(DI)是Spring所做的基本的事情。
<beans>是任何Spring配置文件的根元素。<bean>元素用来在Spring容器中定义一个类以及它的配置信息。
1) <bean id="greetingService" class="...">
<property name="greeting" value="ciao"/>
</bean>
spring 会通过setGreeting()方法来设置其属性值。
2)
<bean id="greetingService" class="...">
<constructor-arg value="ciao"/>
</bean>
GreetingServiceImpl greetingService=new GreetingServiceImpl("Ciao");
BeanFactory factory=new XmlBeanFactory(new FileSystemResource("hello.xml"));
GreetingService greetingService=(GreetingService)factory.getBean("greetingService");
第二章 基本bean装配
创建系统组件之间协作关系的这个动作是id的关键,通常被成为装配。
容器是spring框架的核心,spring容器使用di管理所有组成系统的组件,这包括在协作组件之间建立关联。
容器实现,两类:
1)bean工厂
负责创建和分发bean.使用一个filesystemresource 来创建一个xmlbeanfactory,其bean的定义来自文件系统中的xml文件,但这个之后bean工厂还没有事例化bean,只有到bean在被需要的时候才被事例化。为了从beanfactory得到一个bean,只要简单地调用getbean(“name of bean”)
2)使用应用上下文application context
提供了文本信息解析工具
提供了载入文件资源地通用方法
可以向注册为监听器的bean发送事件
bean的生命周期:
转载于:https://www.cnblogs.com/lauraxia/archive/2013/01/20/2868986.html
笔记--Spring in action相关推荐
- Spring in Action 4 读书笔记之使用标签创建 AOP
目录 1. 定义一个 aspect 2. 创建一个 around advice 在之前的读书笔记 Spring in Acton 4 读书笔记之 AOP 原理及 Spring 对 AOP 的支持 中, ...
- Spring in Action 4th 学习笔记 之 AOP
前提:本文中的AOP仅限于Spring AOP. 先说说为什么需要AOP 最简单的一个例子就是日志记录,如果想记录一些方法的执行情况,最笨的办法就是修改每一个需要记录的方法.但这,真的很笨... 好的 ...
- 第二章 装配Bean(Spring in action,3th)
第二章 装配Bean 创建应用对象之间协作关系的行为通常被称为装配(wiring),是依赖注入的本质. XML方式声明Bean ...
- Spring学习笔记--spring+mybatis集成
前言: 技术的发展, 真的是日新月异. 作为javaer, 都不约而同地抛弃裸写jdbc代码, 而用各种持久化框架. 从hibernate, Spring的JDBCTemplate, 到ibatis, ...
- (转) Spring读书笔记-----Spring的Bean之配置依赖
前一篇博客介绍了Spring中的Bean的基本概念和作用域(Spring读书笔记-----Spring的Bean之Bean的基本概念 ),现在介绍Spring Bean的基本配置. 从开始我们知道Ja ...
- Spring in Action:@Vaild 表单验证不起作用
在按照<Spring in Action>进行实践的过程中,发现@Vaild表单验证不起作用.最后查明原因如下: 仔细阅读<Spring in Action>,书中说: 从Sp ...
- Spring In Action 4
在线学习连接:spring in action 4 文章目录 关键词解释 一.Spring的核心 1.1 简化Java开发 1.1.1 激发POJO的潜能 1.1.2 依赖注入 1.1.3 应用切面 ...
- 我的读书笔记——Spring
我的读书笔记--Spring Bean 的三种配置方式 基于XML配置 基于注解配置 基于Java类配置 Bean定义 在Xml中通过 元素定义.如 在Bean实现类通过@compoent或者衍生类( ...
- Java笔记-Spring Boot中Spring WS WS-Addressing中@Action实例
此笔记为利用Spring WS的WS-Addressing发送SOAP请求及接收其响应. WS-Addressing(Web服务寻址):传送Web服务端点的引用的数据结构,以及一套能够在特定的消息上关 ...
最新文章
- SAP 往一个角色里增加事务代码
- 谷歌对2021年的六个预测:数据和云技术的革命即将到来
- Linux下修复修改profile文件导致命令不用可的解决方法
- android 启动速度优化终极方案
- 处女座的测验(一)(互质数)
- java里的关键字有什么用_java语言关键字有哪些?都有什么用处?
- java 入侵 mysql_Java访问数据库Mysql
- 面试必备:Spring 面试 63 问!
- ASP.NET中GridView数据导出EXCEL小结
- Matrixport发布跨链资产项目M-Tokens
- 人工智能在塑造未来移动应用开发中的作用
- ctf 逆向 回顾与总结
- c# 汉语拼音排序函数
- 百度翻译API的调用
- 【校园快递信息系统——开题报告 分享(仅供参考呀)】
- centos服务器无法上网
- blob/text column 'content' used in key specification without a key length
- 9、Linux文本处理三剑客之sed命令
- [开源]爱发布类似fir.im和蒲公英的App发布平台
- 软件开发新技术(工具及相关技术)
热门文章
- C语言C++中memset()函数使用和注意事项
- agx 安装ros opencv_Ubuntu下安装realsense+melodic+OpenCV
- Python 测试驱动开发(五)测试数据库(上)
- FLOPs FLOPS
- Python生成词云
- Delphi创建对象时,Application、Self、nil三者的区别
- 动漫品牌“爆笑虫子”宣布与xNFT Protocol战略合作,开发NFT数字卡牌游戏
- Paradigm此前投资Uniswap的资金价值或超30亿美元
- SAP License:实施SAP Business One-企业获得了哪些业务价值
- SAP License:SAP学习之COPP