Spring第四版
文章平均质量分 58
spring第四版笔记
Like爱学习
这个作者很懒,什么都没留下…
展开
-
4.2 通过切点来选择连接点
切点用于准确定位应该在什么地方应用切面的通知。{通知,切点}是切面的最基本元素。 通知:做什么,什么时候做 切点:在哪里做(缩小使用切面的范围) AspectJ 指示器 描述 arg() 限制连接点匹配参数为指定类型的执行方法 execution 用于匹配时连接点的执行方法 this() 限制连接点匹配AOP代理的bean引用为指定类型的类 target 限制连接点匹配目标对象为指定类型的类 within 限制连接点匹配指定的类型原创 2021-03-24 00:02:22 · 109 阅读 · 0 评论 -
第四章:面向切面的Spring
4.1 什么是面向切面编程 在第二章,我么介绍了如何使用依赖注入管理和配置我们的应用对象。DI有助于应用对象之间的解耦,而AOP可以实现横切关注点与它们所影响的对象之间的解耦。 日志是切面编程常见的范例,还有声明式事务,安全,缓存等。。。 ...原创 2021-02-21 23:13:44 · 123 阅读 · 0 评论 -
3.5运行时值注入
讨论依赖注入的时候,我们通常所讨论的是将一个Bean的引用注入到另一个Bean的属性或构造器参数中。它通常来讲指的是将一个对象与另一个对象关联。 另一个方面,将一个值注入到Bean的属性或者构造器参数中! public class SgtPeppers implements CompactDisc, BeanNameAware { private String title = "Sgt. Pepper's Lonely Hearts Club Band"; private Strin原创 2021-02-17 23:49:46 · 438 阅读 · 0 评论 -
3.4.1会话和请求作用域
占坑原创 2021-02-15 20:50:08 · 66 阅读 · 0 评论 -
3.4Bean的作用域
默认情况下,Spring应用上下文中所有的Bean都是作为单例的形式创建的。 大多数情况下,单例都是很理想的方案。初始化和垃圾回收对象实例所带来的成本只留给一些小规模的任务,在这些任务中,让对象保持无状态并且在应用中反复重用可能不太合理。 有时候,你所使用的类是易变的,他们会保持一些状态,重用不太安全!!(多线程问题) Spring 定义了多种作用域 单例(Singleton):在整个应用中,只创建bean的一个实例 原型(Prototype):每次注入或者通过Spring应用上下文获取的时候,都原创 2021-02-15 20:49:25 · 65 阅读 · 2 评论 -
3.3处理自动装配的歧义性
在第二章中,我们使用自动装配让spring来负责将Bean引用注入到构造参数和属性中。自动装配能够提供很大的帮助。 但是仅有一个Bean匹配所需的结果时,自动装配才是有效的。 以下例子: @Component public class Menu { public Dessert dessert; @Autowired public void setDessert(Dessert dessert) { this.dessert = dessert;原创 2021-02-15 18:05:46 · 110 阅读 · 0 评论 -
3.2条件化的bean
3.2条件化的bean 如果你希望一个或者多个bean只有在应用的类路径夏包含特定的库的时候才创建。 或者希望某个bean只有当另外某个特定的bean也申明了之后才创建。 某个环境变量设置之后,才创建等等。。。 ...原创 2021-02-15 13:35:32 · 135 阅读 · 0 评论 -
P67 第三章 高级装配 spring 实战第四版
3.1 环境与profile 开发软件的时候,有一个很大的挑战就是将应用程序从一个环境迁移到另一个环境中。在开发的阶段有些做法可能不适合生产环境,UAT to PROD。数据库的配置,加密算法,和外部系统的集成。 public class DataSourceConfig { @Bean() public DataSource dataSource(){ return new EmbeddedDatabaseBuilder().build(); }原创 2021-02-10 23:49:21 · 73 阅读 · 0 评论 -
2.5导入和混合配置 P61 Spring实战 第四版
导入和混合配置: 在典型的spring应用当中,我们可能同时使用自动化和显示配置。(java config/ xml配置) 各有优势!! spring并不排斥这些配置方案,我们可以将java config/ 自动装配 autowired/ xml配置混合在一起,只需要一些显示配置来启动组件扫描和自动装配。 2.5.1在java config中引用xml配置 1. 拆分CDconfig @Configuration public class CDConfig { @Bean pub原创 2021-02-10 00:26:53 · 77 阅读 · 0 评论 -
设置属性,Spring实战第四版,P56
目前为止,我们所有的类都是通过构造器注入,没有使用setter方法。我们接下来要看如何使用Spring XML实现属性注入。 package soundSystem; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class CDPlayer implements MediaPlayer原创 2021-02-09 22:42:45 · 48 阅读 · 0 评论 -
使用xml来装配集合,Spring实战第四版P53
使用XML来装配集合 我们使用新的domain类来描述一张唱片,里面加入了track。 package soundSystem; import java.util.List; public class BlankDisc implements CompactDisc{ private String title; private String artist; private List<String> tracks; public BlankDisc(原创 2021-02-09 00:02:05 · 57 阅读 · 0 评论 -
Spring 实战 通过XML装配Bean
Spring从诞生之时就是使用XML来配置各个Bean。但是现在XML不再是配置的唯一选择,JavaConfig和AutoWired都是现在更加推荐的选择。这一章节主要是希望能够帮助我们维护现有的代码!!新写的代码还是比较推荐使用JavaConfig或者自动装配。 2.4.1 创建XML配置规范 以下就是一个标准的配置文件!<beans>标签内部可以声明所需要的Bean。用来装配Beans的最基本的XML元素包含在spring-beans模式中。 <?xml version="..原创 2021-02-08 23:48:59 · 137 阅读 · 0 评论 -
Spring 实战 P44 通过Java代码装配Bean
2.3 通过Java代码装配Bean 使用场景:自动化配置行不通的时候,(将第三方库中的组件装配到你的应用当中)不能在组件上面添加@Componet和@AutoWired,所以就不能使用自动化装配的方案了!! 特殊对待:可以将JavaConfig写在一个单独的文件当中,因为它虽然是用Java代码写的,但是并不含有业务逻辑和领域代码!!为了不混淆,建议放在一个单独的包里。 2.3.1 创建配置类: @Configuration //@ComponentScan 不需要组件扫描,手动Java配置 pu原创 2020-12-27 19:15:59 · 160 阅读 · 0 评论 -
Spring 实战 自动装配 @AutoWired
Intro: 在Spring中,对象无需自己查找或者创建与其所关联的其他对象。容器负责把需要相互协作的对象引用赋予各个对象。进行这种行为成为装配,也是依赖注入(DI)的本质! 三种主要装配方式:(可以混合使用) XML中进行显式配置。 (使用命名空间时推荐) 在Java中进行显式配置。(次推荐)类型安全性好。 隐式的bean发现机制和自动装配。(推荐)当有一些bean无法自动装配的时候,一些第三方的类,不能加@Compnent,就使用上面的两种方法。 自动化装配 组件扫描原创 2020-12-25 21:07:24 · 193 阅读 · 0 评论 -
Spring 实战 P16-P21 Bean的生命周期
消除模板式代码: 类似JDBC代码,需要很多重复的代码,Spring使用JDBCtemplate去消除重复代码。让代码更专注于逻辑!! 容纳你的bean: 在基于Spring的应用中,应用对象生存于Spring(容器)(container)中。Spring容器负责创建对象,装配他们,配置它们并管理它们的整个生命周期,从生存到死亡。 首先我们需要了解一下容器(有助于我们理解对象是如何管理的)。 Spring容器并不是只有一个。Spring自带了多个容器实现,可以归为两种不同的类型。 bean工 厂原创 2020-11-29 23:24:53 · 116 阅读 · 0 评论 -
Spring 实战 第四版 P11-P16 aop入门
1.1.3 应用切面 DI能够让相互协作的软件组件保持松散耦合,面向切面编程(AOP)允许你把遍布应用各处的功能分离出来形成可重用的组件。 除了实现自身核心的功能之外,这些组件还经常承担着额外的职责。诸如日志、事务管理和安全这样的系统服务经常融入到自身具有核心业务逻辑的组件中去,这些系统服务通常被称为横切关注点,因为它们会跨越系统的多个组件。 1. 这些横切关注点的问题,如果你想要改变比如(日志,或者安全如何实现)。如果他们被嵌在其他代码中,会非常麻烦,你需要重复改。 2. 即使你全部把关注点抽出来原创 2020-11-29 15:17:04 · 137 阅读 · 0 评论 -
Spring 实战第四版 DI 入门
工作了快一年的时间,感觉没有系统的学习过Spring,在这边开一个博客,记录一下Spring第四版的学习。 1 Spring 如何简化Java 开发的复杂性 基于pojo的轻量级和最小侵入性编程 DI和面向接口实现松耦合 AOP和惯例进行声明式编程 通过切面和模板减少样板式代码 1.1基于pojo的轻量级和最小侵入性编程 Spring不会强迫你实现Spring规范接口或继承Spring规范的类,没有任何痕迹表明你使用了Spring。 例子: spring在这个bean上面不会有任何不合理的请.原创 2020-11-28 09:56:51 · 214 阅读 · 0 评论