![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
文章平均质量分 95
OU_YANG_FAN
对方感到舒适
展开
-
SpringBoot属性配置
文章目录SpringBoot属性配置(V2.0.2)SPRING_APPLICATION_JSON PropertiesRandom PropertiesCommand Line PropertiesProperties FilesProfile-specific PropertiesPlaceholders in PropertiesUsing YAML Instead of PropertiesLoading YAMLExposing YAML as Properties in the Spring E原创 2021-05-27 18:40:09 · 1329 阅读 · 0 评论 -
Spring Aspect Oriented Programming with Spring
文章目录5.1 AOP 概念5.2 Spring AOP能力和目标5.3 AOP Proxies5.4 @AspectJ支持5.4.1 启用@AspectJ支持5.4.2 声明一个切面5.4.3 声明切入点5.4.4 声明通知adviceBefore AdviceAfter Returning AdviceAfter Throwing AdviceAfter (Finally) AdviceAround AdviceAdvice ParametersAdvice Ordering5.4.5 Introduc原创 2020-12-11 17:01:58 · 569 阅读 · 0 评论 -
Spring Validation, Data Binding, and Type Conversion
文章目录3.1 Validation by Using Spring’s Validator Interface3.2 Resolving Codes to Error Messages3.3 Bean操作和BeanWrapper3.3.1 Setting and Getting 基础和嵌套属性的值3.3.2 内置的PropertyEditor实现3.4 Spring 类型转换3.4.1 转换 SPI3.4.2 Using `ConverterFactory`3.4.3 Using `GenericConv原创 2020-12-09 15:50:48 · 266 阅读 · 0 评论 -
Spring Resources
文章目录2.1 Resource 介绍2.2 Resource 接口2.3 构建 Resource 的实现类2.3.1 UrlResource2.3.2 ClassPathResource2.3.3 FileSystemResource2.3.4 ServletContextResource2.3.5 InputStreamResource2.3.6 ByteArrayResource2.4 `ResourceLoader` 接口2.5 ResourceLoaderAware 接口2.6 Resource原创 2020-12-08 15:52:00 · 1080 阅读 · 1 评论 -
Spring Null-safety
文章目录7.1 用例7.2 JSR-305元注解参考文献尽管Java不允许您使用其类型系统来表示空安全性,但是Spring Framework现在在org.springframework.lang包中提供了以下注释,以使您声明API和字段的空性:@Nullable:表示特定参数,返回值或字段可以为null的注释。@NonNull:表示特定参数,返回值或字段不能为null的注释@NonNullApi:程序包级别的注释,它声明非空为参数和返回值的默认语义。@NonNullFields:程序包级别的注原创 2020-12-08 15:50:57 · 124 阅读 · 0 评论 -
Spring Logging
从Spring Framework 5.0开始,Spring在spring-jcl模块中实现了自己的Commons Logging网桥。该实现检查类路径中是否存在Log4j 2.x API和SLF4J 1.7 API,并使用其中的第一个作为日志记录实现,回溯到Java平台的核心日志记录设施(也称为JUL或Java) .util.logging)(如果Log4j 2.x和SLF4J都不可用)。将Log4j 2.x或Logback(或其他SLF4J提供程序)放在您的类路径中,而无需任何额外的桥接,并让框架自动原创 2020-12-08 15:50:03 · 273 阅读 · 0 评论 -
Spring Data Buffers and Codecs
文章目录8.1 `DataBufferFactory`8.2 `DataBuffer`8.3 `PooledDataBuffer`8.4 `DataBufferUtils`8.5 Codecs8.6 Using `DataBuffer`参考文献Java NIO提供了ByteBuffer,但是许多库在顶部构建了自己的字节缓冲区API,特别是对于网络操作,其中重用缓冲区和/或使用直接缓冲区对性能有利。例如,Netty具有ByteBuf层次结构,Undertow使用XNIO,Jetty使用池字节缓冲区以及要释放原创 2020-12-08 15:49:20 · 585 阅读 · 0 评论 -
ApplicationContext的其他功能
文章目录1.15.1 使用MessageSource进行国际化1.15.2 标准和自定义事件1.15.3 方便地访问低级资源1.15.4 应用程序启动跟踪1.15.5 Web应用程序的便捷ApplicationContext实例化1.15.6 将Spring ApplicationContext部署为Java EE RAR文件参考文献org.springframework.beans.factory包提供了用于管理和操作bean的基本功能,包括以编程方式。 org.springframework.cont原创 2020-12-08 09:51:16 · 425 阅读 · 0 评论 -
注册`LoadTimeWeaver`
Spring使用LoadTimeWeaver在将类加载到Java虚拟机(JVM)中时对其进行动态转换。要启用加载时编织,可以将@EnableLoadTimeWeaving添加到@Configuration类之一,如以下示例所示:@Configuration@EnableLoadTimeWeavingpublic class AppConfig {}另外,对于XML配置,可以使用context:load-time-weaver元素:<beans> <context:l原创 2020-12-07 10:48:13 · 165 阅读 · 0 评论 -
环境的抽象 Environment
文章目录1.13.1 Bean定义配置文件1.13.2 PropertySource抽象1.13.3 使用`@PropertySource`注解1.13.4 声明中的占位符解析参考文献Environment接口是集成在容器中的抽象,可对应用程序环境的两个关键方面进行建模:概要文件(profiles)和属性(properties)。概要文件是仅在给定概要文件处于活动状态时才向容器注册的Bean定义的命名逻辑组。可以将Bean分配给概要文件,无论是以XML定义还是带有注释。与配置文件相关的环境对象的作用是确原创 2020-12-07 10:42:36 · 301 阅读 · 0 评论 -
使用JSR 330标准注释
文章目录1.11.1 @Inject和@Named的依赖注入1.11.2 @Named和@ManagedBean:@Component注释的标准等效项1.11.3 JSR-330标准注释的局限性参考文献 从Spring 3.0开始,Spring提供对JSR-330标准注释(依赖注入)的支持。这些注释的扫描方式与Spring注释的扫描方式相同。要使用它们,您需要在类路径中有相关的jar。 如果使用Maven,则标准Maven存储库(https://repo1.maven.org/maven2/jav原创 2020-12-04 17:48:41 · 504 阅读 · 0 评论 -
spring 类路径扫描和托管组件
文章目录1.10.1 @Component和更进一步的注解1.10.2 使用元注解和组合注解1.10.3 自动检测类并注册Bean definitions1.10.4 使用过滤器自定义扫描1.10.5 在组件中定义Bean元数据1.10.6 命名自动检测的组件1.10.7 提供自动检测组件的范围1.10.8 提供带有注释的Qualifier元数据1.10.9 生成候选组件的索引参考文献 通过扫描类路径来隐式检测候选组件的选项。候选组件是与过滤条件匹配的类,并具有在容器中注册的相应bean定义。这消除了使原创 2020-12-04 11:14:45 · 225 阅读 · 0 评论 -
Application 容器扩展点
文章目录1.8.1 使用BeanPostProcessor自定义Bean1.8.2 使用BeanFactoryPostProcessor自定义配置元数据1.8.3 使用FactoryBean自定义实例化逻辑参考文献通常,应用程序开发人员无需为ApplicationContext实现类提供子类。相反,可以通过插入特殊集成接口的实现来扩展Spring IoC容器。接下来的几节描述了这些集成接口。1.8.1 使用BeanPostProcessor自定义Bean BeanPostProcessor接口定义了原创 2020-12-03 14:22:21 · 150 阅读 · 0 评论 -
Bean定义的继承
Bean定义可以包含许多配置信息,包括构造函数参数,属性值和特定于容器的信息,例如初始化方法,静态工厂方法名称等。子bean定义从父定义继承配置数据。子定义可以覆盖某些值或根据需要添加其他值。使用父bean和子bean定义可以节省很多输入。实际上,这是一种模板形式。如果您以编程方式使用ApplicationContext接口,则子bean定义由ChildBeanDefinition类表示。大多数用户不在此级别上与他们合作。相反,它们在诸如ClassPathXmlApplicationContext之类原创 2020-11-30 10:38:00 · 223 阅读 · 0 评论 -
Bean的作用域
文章目录1.5.1 Singleton 单例作用域1.5.2 Prototype 原型作用域1.5.3 具有原型Bean依赖关系的Singleton Bean1.5.4 Request,Session,Application,WebSocket 作用域1.5.5 自定义作用域参考文献 创建bean定义时,将创建一个配方,用于创建该bean定义所定义的类的实际实例。 bean定义是配方的想法很重要,因为这意味着与类一样,您可以从一个配方中创建许多对象实例。 您不仅可以控制要插入到从特定bean定义创建原创 2020-11-30 10:08:57 · 1933 阅读 · 0 评论 -
Bean功能的扩展点
文章目录1.6.1 Bean的生命周期回调扩展点1.6.2 ApplicationContextAware和BeanNameAware接口扩展点1.6.3 其他Aware的接口扩展点参考文献 Spring框架提供了许多接口,可用于自定义Bean的性质。1.6.1 Bean的生命周期回调扩展点为了与容器对bean生命周期的管理进行交互,您可以实现Spring InitializingBean和DisposableBean接口。容器为前者调用afterPropertiesSet()并为后者调用destr原创 2020-11-30 10:07:13 · 420 阅读 · 0 评论 -
BeanFactory工厂与ApplicationContext的区别
文章目录1.16 `BeanFactory`工厂参考文献1.16 BeanFactory工厂 BeanFactory API为Spring的IoC功能提供了基础。它的特定合同主要用于与Spring的其他部分以及相关的第三方框架集成,并且其DefaultListableBeanFactory实现是更高级别的GenericApplicationContext容器中的关键委托。 BeanFactory和相关接口(例如BeanFactoryAware,InitializingBean,Disposable原创 2020-11-27 10:45:38 · 186 阅读 · 0 评论 -
注入Bean依赖的不同方式处理
文章目录1.4 `Bean`之间的依赖处理1.4.1 `Bean`之间的依赖注入1.4.2 依赖注入的详细配置1.4.3 使用`depends-on`1.4.4 设置`Bean`的懒加载1.4.5 `Autowiring`自动注入的配置1.4.6 方法注入Lookup Method 注入参考文献1.4 Bean之间的依赖处理 典型的企业应用程序不包含单个对象(或Spring术语中的bean)。即使是最简单的应用程序,也有一些对象可以协同工作,以呈现最终用户视为一致的应用程序。下一部分将说明如何从定义多原创 2020-11-27 10:34:20 · 558 阅读 · 0 评论 -
容器中定义的Bean概述
文章目录1.3.1 如何给`Bean`命名1.3.2 如何实例化一个`Bean`参考文献Spring IoC容器管理一个或多个bean。这些bean是使用您提供给容器的配置元数据创建的(例如,以XML `定义的形式)。 在容器本身内,这些bean定义表示为BeanDefinition对象,其中包含(除其他信息外)以下元数据:1. 包限定的类名称:通常,定义了`Bean`的实际实现类。2. `Bean`行为配置元素,用于声明`Bean`在容器中的行为(作用域,生命周期回调等)。3. 引用该`bea原创 2020-11-16 14:37:58 · 202 阅读 · 0 评论 -
Spring容器Container概述
文章目录1.2.1 如何配置`Spring`容器的元数据1.2.2 如何实例化一个`Spring`实例对象1.2.3 `Spring`容器如何使用参考文献org.springframework.context.ApplicationContext接口表示Spring IoC容器,并负责实例化,配置和组装Bean。容器通过读取配置元数据获取有关要实例化,配置和组装哪些对象的指令。配置元数据以XML,Java注解或Java`代码表示。它使您能够表达组成应用程序的对象以及这些对象之间的丰富相互依赖关系。 S原创 2020-11-16 14:36:14 · 988 阅读 · 0 评论 -
使用常用的注解配置Spring容器
文章目录1.9.1 `@Required`1.9.2 `@Autowired`1.9.3 `@Primary` 让`@Autowired`注入不纠结1.9.4 `@Qualifiers`让`@Autowired`注入指定名称的`Bean`1.9.5 可以使用泛型来限定对象1.9.6 可以使用`CustomAutowireConfigurer`添加自定义的`qualifier`类型的注解1.9.7 使用`@Resource`注入1.9.8 使用 `@Value`注入1.9.9 `PostContruct`和`原创 2020-11-16 09:41:44 · 163 阅读 · 0 评论 -
Spring IOC和Bean介绍
Spring IoC容器和Bean简介Spring IoC容器也称为依赖注入(DI)。在此过程中,对象仅通过构造函数参数,工厂方法的参数或在构造或从工厂方法返回后在对象实例上设置的属性来定义其依赖项(即,与它们一起使用的其他对象) 。然后,容器在创建bean时注入那些依赖项。此过程从根本上讲是通过使用类的直接构造或诸如服务定位器模式之类的控件来控制其依赖项的实例化或位置的bean本身的逆过程(因此称为Control的倒置)。org.springframework.beans和org.springfram原创 2020-11-14 14:28:57 · 116 阅读 · 0 评论 -
如何使用Java代码方式配置Spring的IOC容器
文章目录`@Bean`和`@Configuration` 的基础使用使用`AnnotationConfigApplicationContext`实例化`Spring`容器的几中方式通过`AnnotationConfigWebApplicationContext`支持`Web`应用程序`@Bean`注解的使用`@Configuration`注解的使用结合各个 `Java`配置类从Spring 3.0开始,Spring 提供的许多功能都是使用的JavaConfig配置的。所以我们可以使用Java而不是XML文原创 2020-11-14 14:16:36 · 210 阅读 · 0 评论 -
Spring源码阅读-getBean逻辑分析记录
getBean从缓存中获取BeanObject sharedInstance = getSingleton(beanName);上述代码会从三个map中读取缓存的Bean,这三个map也是俗称的 this.singletonObjects 一级缓存,this.earlySingletonObjects 二级缓存,this.singletonFactories 三级缓存,在Bean属性循环引用的时候也会用到。如果缓存有数据执行 bean = getObjectForBeanInstance(s原创 2020-08-14 11:00:17 · 150 阅读 · 0 评论