《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层的组件的 ...
随机推荐
- macOS 10.15 Catalina xxx.app已损坏,无法打开,你应该将它移到废纸篓解决方法
原文连接:https://www.macwk.com/article/mac-catalina-1015-file-damage 更新macOS 10.15 Catalina后,很多在10.14上可以 ...
- mqtt概念整理
运行模式: 服务器: emqx (https://docs.emqx.io/edge/v3/cn/install.html) 协议头字节数: 2个字节 三种消息可能性保障(Qos): Qos0:最多一 ...
- centos 6.8操作系统安装arcgis server 10.4-后续篇
./Setup //执行安装 (运行安装脚本后会进行安装环境检测,会检查检查软件包和主机名,检测通过才可以开始安装.)如果检查不通过,会提示和报错,并中断安装过程.(1) 解决 hostname 问题 ...
- vue项目.eslintrc格式化
场景:.eslintrc非常的严谨,但是严格总是好的,能写出好的代码.如何格式化呢?写好的代码 如何一键 变成符合.eslintrc规范的代码呢??? 比如 双引号变单引号 去掉分号等等. 解决 ...
- Component 'TABCTL32.OCX'错误
1.Component 'TABCTL32.OCX'错误的处理方法 错误:Component 'TABCTL32.OCX' or one of its dependencies not correct ...
- redis 简单教程
一.redis的安装 安装环境:centos 7 1) 下载redis 这里我们下载的是redis-4.0.10.tar.gz 2)将redis tar包移动至 /usr/local 执行如下命令 c ...
- java中的内存分配问题
class A{ int i; int j; } clsaa demo{ public static void main(String[] args){ A aa = new A(); A aa; / ...
- linux 高级
linux命令: top 查看整机的性能: ----(看内存(mem)和cpu) 1:查看cpu的cpu的核数按1连续: 2:id=idle(空闲率),值越大越好, 3:load av ...
- 分布式session一致性
实现思路:当客户端发送请求到服务端后,在后台生成一个token,将token作为key,用户状态信息作为value,存入redis缓存中,并设置过期时间,最后把token返回给客户端 客户端第会保存t ...
- IDEA界面太丑??尝试一下这几个风格
>>>>>>>>>>原文地址<<<<<<<<<< >>>> ...