跟着《SpringInAction》学Spring——入门篇

入行半年,菜鸟一枚。俗话,好记性不如烂笔头,仅以此文开启自己的程序员生涯,也望能结交同行好友。

最近学习Spring,在看一本叫《Spring实战》的书,故,此文集中的文章,都是跟这本书的学习。废话不多说,开始写了。

首先,写写这本书的大概:

第一部分:Spring框架的核心,DI/IOC/AOP

第二部分:Spring在WEB层的应用,SpringMVC

第三部分:Spring在持久层的应用

第四部分:Spring与其他系统的集成

从书的组成结构来看,Spring为JAVA开发人员在对象的管理,WEB层,持久层和系统集成等方面提供了帮助。


第一部分:

——第一章Spring之旅

概述:

1、这一章主要介绍了Spring为了降低JAVA开发的复杂性,总的采取的4种关键的策略:

1.1、基于POJO的轻量级和最小侵入性变成

1.2、通过依赖注入和面向接口实现松耦合

1.3、切面和惯例进行声明式编程

1.4、通过切面和模板减少样式代码

围绕这四个策略,做出了详细的解释。

2、如何加载配置文件,以及上下文的概念,bean的生命周期

3、Spring全部功能介绍

4、Spring的新功能

一、4种关键的策略

1、非侵入式编程:不同于Structs2/WebWork/Tapestry等框架,Spring框架不会强迫开发人员实现Spring规范的接口或者继承Spring规范的类,在Spring框架构建的应用中,它的类没有任何痕迹表明了使用了Spring。这意味着这个类在Spring应用和非应用中都可以发挥同样的作用。

2、依赖注入(DI)

优点:实现对象的松耦合

code1.1

package com.springinaction.knights;

public class DamselRescuingKnight implements Knight {
	private RescueDaselQuest quest;
	public DamselRescuingKnight(){
		this.quest = new RescueDamselQuest();//与RescueDamselQuest紧耦合
	}
	public void embarkOnQuest(){
		quest.embark();
	}
}
code1.2

package com.springinaction.knights;

public class BraveKnight implements Knight {
	private Quest quest;
	public BraveKnight(Quest quest){ //Quest被注入进来
		this.quest = quest;
	}
	@Override
	public void embarkOnQuest() {
		quest.embark();
	}
}



通过DI,对象的依赖关系将由系统中负责协调对象的第三方组件在创建对象的时候进行设定,对象无需自行创建或管理它们的依赖关系,依赖关系将被自动注入到它所需要的对象中去。

1.1中的代码就是传统开发过程,对象负责创建、管理、协调与自己相互写作的对象,这会导致高度耦合。看1.2中的代码,Quest是一个接口,通过Quest接口表明依赖关系,将需要的对象注入到方法中。

Spring作为一个管理对象的容器,它会帮我们创建对象、管理对象、装配对象,实现对象之间的松耦合。

如果一个对象只通过接口来表明依赖关系,那么这种依赖就能够在对象本身不知情的情况下用不同的具体实现进行替换。



目录 第一部分spring的核心 第1章开始spring之旅 1.1spring是什么 1.2开始spring之旅 1.3理解依赖注入 1.3.1依赖注入 1.3.2di应用 1.3.3企业级应用中的依赖注入 1.4应用aop 1.4.1aop介绍 1.4.2aop使用 1.5小结 第2章基本bean装配 2.1容纳你的bean 2.1.1beanfactory介绍 2.1.2使用应用上下文 2.1.3bean的生命 2.2创建bean 2.2.1声明一个简单的bean 2.2.2通过构造函数注入 2.3注入bean属性 2.3.1注入简单的数值 2.3.2使用其他的bean 2.3.3装配集合 2.3.4装配空值 2.4自动装配 2.4.1四种自动装配类型 2.4.2混合使用自动和手动装配 2.4.3何时采用自动装配 2.5控制bean创建 2.5.1bean范围化 2.5.2利用工厂方法来创建bean 2.5.3初始化和销毁bean 2.6小结 第3章高级bean装配 3.1声明父bean和子bean 3.1.1抽象基bean类型 3.1.2抽象共同属性 3.2方法注入 3.2.1基本的方法替换 3.2.2获取器注入 3.3注入非springbean 3.4注册自定义属性编辑器 3.5使用spring的特殊bean 3.5.1后处理bean 3.5.2bean工厂的后处理 3.5.3配置属性的外在化 3.5.4提取文本消息 3.5.5程序事件的解耦 3.5.6让bean了解容器 3.6脚本化的bean 3.6.1给椰子上lime 3.6.2脚本化bean 3.6.3注入脚本化bean的属性 3.6.4刷新脚本化bean 3.6.5编写内嵌的脚本化bean 3.7小结 第4章通知bean 4.1aop简介 4.1.1定义aop术语 4.1.2spring对aop的支持 4.2创建典型的spring切面 4.2.1创建通知 4.2.2定义切点和通知者 4.2.3使用proxyfactorybean 4.3自动代理 4.3.1为spring切面创建自动代理 4.3.2自动代理@aspectj切面 4.4定义纯粹的pojo切面 4.5注入aspectj切面 4.6小结 第二部分企业spring 第5章使用数据库 5.1spring的数据访问哲 5.1.1了解spring数据访问的异常体系 5.1.2数据访问的模板化 5.1.3使用dao支持类 5.2配置数据源 5.2.1使用jndi数据源 5.2.2使用数据源连接池 5.2.3基于jdbc驱动的数据源 5.3在spring里使用jdbc 5.3.1处理失控的jdbc代码 5.3.2使用jdbc模板 5.3.3使用spring对jdbc的dao支持类 5.4在spring里集成hibernate 5.4.1选择hibernate的版本 5.4.2使用hibernate模板 5.4.3建立基于hibernate的dao 5.4.4使用hibernate3上下文会话 5.5spring和java持久api 5.5.1使用jpa模板 5.5.2创建一个实体管理器工厂 5.5.3建立使用jpa的dao 5.6spring和ibatis 5.6.1配置ibatis客户模板 5.6.2建立基于ibatis的dao 5.7缓存 5.7.1配置缓存方案 5.7.2缓存的代理bean 5.7.3注解驱动的缓存 5.8小结 第6章事务管理 6.1理解事务 6.1.1仅用4个词解释事务 6.1.2理解spring对事务管理的支持 6.2选择事务管理器 6.2.1jdbc事务 6.2.2hibernate事务 6.2.3jpa事务 6.2.4jdo事务 6.2.5jta事务 6.3在spring中编写事务 6.4声明式事务 6.4.1定义事务参数 6.4.2代理事务 6.4.3在spring2.0里声明事务 6.4.4定义注释驱动事务 6.5小结 第7章保护spring 7.1springsecurity介绍 7.2验证用户身份 7.2.1配置providermanager 7.2.2根据数据库验证身份 7.2.3根据ldap仓库进行身份验证 7.3控制访问 7.3.1访问决策投票 7.3.2决定如何投票 7.3.3处理投票弃权 7.4保护web应用程序 7.4.1代理springsecurity的过滤器 7.4.2处理安全上下文 7.4.3
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值