《Spring in Action 4》阅读札记
重要思路
Spring通过面向POJO编程、依赖注入、AOP和模板技术来降低Java开发的复杂性。
依赖注入能够让互相协作的软件组件保持松耦合,模块直接的耦合性是必要的,否则没法完成工作,但是耦合性需要被妥善管理;
Spring通过AOP实现程序关注点分离,利用AOP,程序员可以使用各种功能层包裹核心业务层;
- Spring旨在通过模板封装来消除样板代码;
容器
容器是Spring框架的核心,负责创建对象、装配它们、配置它们,管理对象的整个生命周期。
Spring中有两类容器:Bean Factory(org.springframework.beans.factory.BeanFactory)和Application Context(org.springframework.context.ApplicationContext)。
Bean的生命周期
需要理解Bean的生命周期,每一个步骤都可能利用Spring提供的接口来定制Bean的创建过程。
Spring体系结构
在Spring框架之内,可以发现简化Java开发的几种方式,但是在Spring框架之外还存在一个庞大的构建在核心框架之上的生态圈,它将Spring扩展到不同的领域,例如Web服务、REST、移动开发,甚至NoSQL。下图是Spring的体系结构图。
Spring Boot
Spring Boot是一个新的工程,旨在简化Spring开发自身。Spring Boot通过大量的自动配置技术,可以消去大部分Spring配置。跟现在的微服务潮流相适应,值得关注。
一、装配Bean
创建对象之间协作关系的行为被称为“装配”,这也是依赖注入的本质。
Spring4.X提供了三种配置Bean的方式:
- 基于XML文件的显式配置;
- 基于Java类的显式配置;
- 隐式的Bean发现和自动装配。
这三种配置方式之间的选择并没有一个标准答案,但是根据当前Spring的发展趋势——去配置化,我们建议的选择优先级为:自动装配(显式的配置越少越好)>基于Java类的显式配置(类型安全)>基于XML文件的显式配置(最后的选择)。
1.自动装配Bean
Spring提供了两个关键点来支持自动装配:
- Component scanning:Spring自动发现将要在应用上下文中创建的Bean
- Autowiring:Spring自动实现Beans之间的依赖关系;
二、
《Spring in Action 4》阅读札记的更多相关文章
- 《Spring In Action》阅读笔记之装配bean
Spring主要装配机制 1.在XML中进行显式配置 2.在Java中进行显式配置 3.隐式的的bean发现机制和自动装配 自动化装配bean Spring从两个角度来实现自动化装配 1.组件扫描:S ...
- 《Spring In Action》阅读笔记之核心概念
DI 依赖注入:在xml中配置的bean之间的依赖关系就是依赖注入 AOP 面向切面编程:如在xml中定义某个方法为切点,然后配置在该切点(该方法)调用前后需要调用的方法,从而简化了代码并解耦. Sp ...
- Spring MVC教程——检视阅读
Spring MVC教程--检视阅读 参考 Spring MVC教程--一点--蓝本 Spring MVC教程--c语言中午网--3.0版本太老了 Spring MVC教程--易百--4.0版本不是通 ...
- 1、Spring In Action 4th笔记(1)
Spring In Action 4th笔记(1) 2016-12-28 1.Spring是一个框架,致力于减轻JEE的开发,它有4个特点: 1.1 基于POJO(Plain Ordinary Jav ...
- spring in action 4th --- quick start
读spring in action. 环境搭建 quick-start依赖注入 面向切面 1.环境搭建 jdk1.8 gradle 2.12 Intelij idea 2016.2.1 1.1创建一个 ...
- ssh整合随笔(注解方式,Spring 管理action)
Web.xml<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=" ...
- Spring in action记录
最近一段时间重新学习了一遍SPRING,现在对这些笔记整理一下,一来算是对之前的学习有一个交代,二来当是重新学习一次,三来可以留下备份 这次学习中以SPRING IN ACTION 4这学习资料,整书 ...
- Spring in Action 4th 学习笔记 之 AOP
前提:本文中的AOP仅限于Spring AOP. 先说说为什么需要AOP 最简单的一个例子就是日志记录,如果想记录一些方法的执行情况,最笨的办法就是修改每一个需要记录的方法.但这,真的很笨... 好的 ...
- 学习spring in action 第一天
这段时间,开始学习java吧,因为C sharp 学习了java的大量语法格式,所以,留意下,就不会错了,java 有的c sharp也有,而且之前我也学习过java的桌面开发,但是一下子上来就要自己 ...
- spring in action学习笔记十五:配置DispatcherServlet和ContextLoaderListener的几种方式。
在spring in action中论述了:DispatcherServlet和ContextLoaderListener的关系,简言之就是DispatcherServlet是用于加载web层的组件的 ...
随机推荐
- Error-Javascript:错误:页面文档类型(DOCTYPE)未声明!
ylbtech-Error-Javascript:错误:页面文档类型(DOCTYPE)未声明! 1.返回顶部 1. HTML1300: 进行了导航.文件: TransferNote.aspxHTML1 ...
- c++ extra qualification
原 c++ extra qualification 2013年01月15日 10:04:52 沈纵情 阅读数 9728 运行代码时候遇到了如下错误: extra qualification ‘Co ...
- 利用c# 多屏显示
公司搞了一个电视墙,要显示不同内容,于是买了一个多接口显卡(现在看来这个方案不是太好,但非常省钱) 要打开的就是几个网页,但要自己手工拖到不同电视上,非常麻烦 于是查了一下资料,发现可以用代码实现,说 ...
- Mac Pro 2015休眠掉电解决办法
硬件:Mac Pro 2015 系统:MacOs Mojave 10.14.3 问题:合盖的时候,休眠1小时掉电10%,由于之前是128G原装盘不会有这个问题,后面购买了M.2转接卡,更换1T Int ...
- mysql新建用户host使用%但使用localhost无法连接
今天新建了一个用户,权限也给了,host设置的为% 但是使用该用户连接时出现如下错误 查看用户 mysql> select host,user,password from mysql.user; ...
- SaltStack 是一个服务器基础架构集中化管理平台
SaltStack详细部署 一.基础介绍============================================================================== ...
- 在ensp上配置RIPv2的认证
原理 实验模拟 实验拓扑 测试连通性 搭建rip网络 查看路由表 R3模拟攻击首先把在自己的的ip通告网段 配置完成后查看一下路由表 可以看到已经非法获取R1R2的网段信息,那么现在我们R3可以向两个 ...
- 几个c++界面库的比较
有些人说QT比MFC简单,QT封装得太好了,给初学者错觉,QT很简单.QT实现的功能比MFC更多(多到有些时候你觉得QT真TM啰唆,但是有时又体会到他啰唆得很强大很有柔性),显然比MFC代码更多,运行 ...
- Codeforces Round #603 (Div. 2) (题解)
A. Sweet Problem (找规律) 题目链接 大致思路: 有一点瞎猜的,首先排一个序, \(a_1>a_2>a_3\) ,发现如果 \(a_1>=a_2+a_3\) ,那么 ...
- 读文件时出现这个错误 'utf-8' codec can't decode byte 0xba in position 21: invalid start byte
''' file2 文件内容: 很任性wheniwasyoung ''' 源代码: f = open("file2",'r',encoding="utf-8") ...