
Spring系列
文章平均质量分 67
Starry-
加油呗
展开
-
初识@Autowired注解
@Autowired使用该注解可以用在某个类的属性、方法以及方法的入参上,都表示注入的意思;标记了该注解的属性,Spring在启动的时候会找到对应的Bean,然后通过反射的方式给该类对象的属性set值。所谓的原理,是指Spring如何查找该属性的实体Bean。原理流程图抛开Bean的实例化过程,以及其他其他流程,这里唯独体现spring如何查找@Autowired注解修饰的属性,以及找到后如何识别。总结下来,就是先根据类型的属性在容器中查找,有三种情况:没有找到就返回null或者抛NoSu原创 2022-03-04 08:55:38 · 496 阅读 · 0 评论 -
spring(二)
Spring IOC实例化Bean的三种方式。方式1:使用无参构造器,通过反射实例化<bean id=“userService”, class=“com.starry.spring.test.UserServiceImpl” />方法2:使用类的静态方法。(静态方法)<bean id=“userService”, class=“com.starry.spring.test.UserServiceImpl”, factory-method=“getUserServiceStatic”原创 2021-12-22 01:09:32 · 870 阅读 · 0 评论 -
Spring | 3.9 基于注解的容器配置
3.9 基于注解的容器配置Spring框架中,注解是否优于XML配置?基于注解的配置引入了这样一个问题:这种方法是否优于XML。简而言之,这要视情况而定。长话短说,每种方法都有其优缺点,通常由开发人员决定哪种策略更适合他们。由于它们的定义方式,注解在声明中提供了大量上下文,从而导致更短、更简洁的配置。然而,XML擅长在不接触组件源代码或重新编译它们的情况下连接组件。一些开发人员喜欢将连接靠近源...翻译 2019-04-13 17:15:59 · 234 阅读 · 1 评论 -
Spring | 3.10 类路径扫描和管理组件
3.10 类路径扫描和管理组件本章中的大多数示例使用XML指定配置元数据,这些元数据在Spring容器中生成每个BeanDefinition。上一节(第3.9节,“基于注解的容器配置”)演示了如何通过源级注解提供大量配置元数据。然而,即使在这些示例中,“基本”bean定义也是在XML文件中显式定义的,而注解只驱动依赖项注入。本节描述通过扫描类路径隐式检测候选组件的选项。候选组件是与筛选条件匹配的...翻译 2019-04-13 17:24:36 · 322 阅读 · 3 评论 -
Spring | 3.11 使用JSR 330标准注解
3.11 使用JSR 330标准注解从Spring 3.0开始,Spring提供了对JSR-330标准注解(依赖项注入)的支持。这些注解的扫描方式与Spring注解相同。你只需要在类路径中有相关的jar即可。如果你正在使用Maven,即javax.inject工程可以在标准Maven存储库中获得(http://repo1.maven.org/maven2/javax/inject/javax....翻译 2019-04-17 01:24:33 · 277 阅读 · 2 评论 -
Spring | 3.12 基于java的容器配置
3.12 基于java的容器配置3.12.1 基本概念:@Bean和@ConfigurationSpring新的java配置支持中的核心构件是@Configuration注解的类和@Bean注解的方法。@Bean注解用于指示方法实例化、配置和初始化由Spring IoC容器管理的新对象。对于那些熟悉Spring的< beans/> XML配置的人来说,@Bean注解的作用与<...翻译 2019-04-17 01:36:43 · 215 阅读 · 1 评论 -
Spring | 3.13 环境抽象
3.13 环境抽象环境是集成在容器中的抽象,它对应用程序环境的两个关键方面建模:概要文件和属性。概要文件是一个命名的bean定义逻辑组,只有在给定概要文件处于活动状态时才向容器注册。可以将bean分配给一个概要文件,无论是在XML中定义的还是通过注解定义的。与概要文件相关的环境对象的角色是确定哪些概要文件(如果有的话)当前是活动的,以及哪些概要文件(如果有的话)在默认情况下应该是活动的。属性...翻译 2019-04-18 01:27:40 · 270 阅读 · 1 评论 -
Spring| 3.14 注册一个LoadTimeWeaver
3.14 注册一个LoadTimeWeaverSpring使用LoadTimeWeaver在类加载到Java虚拟机(JVM)时动态地转换它们。要启用加载时weaving,请将@EnableloadtimeWeaving添加到你的@Configuration类之一:@Configuration@EnableLoadTimeWeavingpublic class AppConfig {}...翻译 2019-04-18 01:28:51 · 184 阅读 · 1 评论 -
Spring | 3.15 ApplicationContext的附加功能
3.15 ApplicationContext的附加功能正如在介绍一章中所讨论的,org.springframework.beans.factory包提供了管理和操作bean的基本功能,包括编程方式。org.springframework.context包添加了ApplicationContext接口,它扩展了BeanFactory接口,此外还扩展了其他接口,以以更面向应用程序框架的风格提供附加...翻译 2019-04-18 01:38:32 · 273 阅读 · 1 评论 -
Spring小知识之XML智能提示标签
编写xml配置文件,一般都是通过复制+黏贴的方法,但当我们学习需要手动编写标签的时候,就需要用到智能提示。智能提示是当我们在输入"<"符号的时候,会提示头文件中对应的标签。Spring框架的xml配置文件一般含有beans/content/aop/tx/mvc等等标签。添加智能提示的步骤:第一步:首先准备好对应的schema和xsd文件。一般下载完整的Spring架包即可。点击这里下载...原创 2019-04-03 16:28:38 · 672 阅读 · 2 评论 -
Spring| 3.8 容器扩展的点
3.8 容器扩展的点通常,应用程序开发人员不需要子类化ApplicationContext实现类。相反,Spring IoC容器可以通过插入特殊集成接口的实现来扩展。接下来的几节将描述这些集成接口。3.8.1 使用BeanPostProcessor定制beanBeanPostProcessor接口定义了回调方法,你可以实现这些方法来提供你自己的(或覆盖容器的默认)实例化逻辑、依赖解析逻辑等等...翻译 2019-04-12 00:25:43 · 186 阅读 · 1 评论 -
Spring| 3.7 继承bean定义
3.7 继承Bean定义bean定义可以包含很多配置信息,包括构造函数参数、属性值和特定于容器的信息,如初始化方法、静态工厂方法名称等。子bean定义从父定义继承配置数据。子定义可以根据需要覆盖一些值,或者添加其他值。使用父bean和子bean定义可以节省大量输入。实际上,这是模板的一种形式。如果以编程方式使用ApplicationContext接口,则子bean定义由ChildBeanDef...翻译 2019-04-12 00:16:29 · 162 阅读 · 0 评论 -
Spring | 初识IOC
快速目录如何理解IOC理解DI及其与IOC间的关系IOC内容Spring如何实现IOC参考资料1 如何理解IOCIOC全称是Inversion of Control,翻译中文就是“控制反转”。针对“控制反转”,提出三个问题:控制是谁控制谁?反转怎么理解?为什么要反转?正转不好吗?IOC的主要作用是创建bean以及管理其与依赖bean之间的关系,所以IOC也可以理解为各bean之...原创 2019-02-15 21:22:30 · 223 阅读 · 1 评论 -
Spring | IOC之Bean的三种实例化
快速目录1 bean的含义2 bean的命名3 bean的实例化4 参考资料在Spring中,对象包装成Bean,供IOC容器使用。Spring的Beans组件已经明确Bean的定义和Bean的解析,我们的关注点是Bean的创建。在学习Bean的创建之前,先简单了解下Bean的含义和命名。1 Bean的含义Bean这个概念是随着Spring框架而出来的。早在1996年,有Java...原创 2019-02-17 21:59:12 · 1106 阅读 · 1 评论 -
Spring | IOC之bean基于XML的注入(装配)
Spring | IOC之bean基于XML的注入(装配)1 依赖关系的理解2 bean间的依赖3 bean的依赖注入3.1 构造器注入3.1.1 实例1:含参构造器注入3.1.2 实例2:c-命名空间3.1.3 实例3:注入字符串和整形3.1.4 实例4:注入集合3.2 setter方法注入3.2.1 实例5:setter注入3.2.2 实例6:p-命名空间3.2.3 实例7:setter注入字...原创 2019-02-24 00:06:19 · 520 阅读 · 1 评论 -
Spring | 3.1容器介绍-初始化-3.2使用
注:翻译自spring官方文档3.1 IOC容器和beans本章节介绍Spring框架中控制反转(IOC)原理的实现。IOC也成依赖注入(DI)。它是一个对象定义依赖关系的过程,也就是说,对象只通过构造函数参数、工厂方法的参数或对象实例构造或从工厂方法返回后在对象实例上设置的属性来定义它们所使用的其他对象。然后容器在创建bean时并注入他们的依赖对象。这个过程本质上与bean本身相反,因此称为...翻译 2019-04-06 10:16:27 · 365 阅读 · 1 评论 -
Spring | 3.3 bean概述
3.3 bean概述Spring IoC容器管理一个或多个bean。这些bean是使用您提供给容器的配置元数据创建的,例如,以XML 定义的形式 。在容器本身内,这些bean定义表示为BeanDefinition 对象,其中包含(以及其他信息)以下元数据:包限定的类名:通常是正在定义的bean的实际实现类。Bean行为配置元素,说明bean在容器中的行为方式(范围,生命周期回调等)。引...翻译 2019-04-06 19:29:25 · 193 阅读 · 1 评论 -
Spring | 3.4 bean依赖
3.4 依赖典型的企业应用程序不包含单个对象(或者用Spring的说法是bean)。即使是最简单的应用程序也有几个对象一起工作,以呈现最终用户所看到的一致的应用程序。下一节将解释如何从定义许多独立的bean定义过渡到完全实现的应用程序,其中对象通过协作来实现目标。3.4.1 依赖注入依赖项注入(Dependency injection, DI)是一个过程,在这个过程中,对象定义它们的依赖项,...翻译 2019-04-06 20:02:39 · 290 阅读 · 0 评论 -
Spring | 3.5 Bean的作用域
3.5 Bean的作用域当你构造bean定义时,你正在构建一个定义bean的类的实例的“处方”。bean定义成“处方”的思想很重要,因为它意味着,与类一样,你可以从一个“处方”创建许多对象实例。你不仅可以控制要插入到由特定bean定义创建的对象中的各种依赖项和配置值,还可以控制由特定bean定义创建的对象的范围。这种方法功能强大且灵活,因为你可以选择通过配置创建的对象的范围,而不必在Java类...翻译 2019-04-07 00:22:39 · 462 阅读 · 2 评论 -
Spring | 3.6自定义bean的性质
3.6 自定义bean的性质3.6.1 生命周期回调要与容器对bean生命周期的管理进行交互,您可以实现Spring的InitializingBean和DisposableBean接口。容器为前者调用afterPropertiesSet(),为后者调用destroy(),以允许bean在初始化和销毁bean时执行某些操作。注意:JSR-250 @PostConstruct和@PreDest...翻译 2019-04-11 01:47:45 · 299 阅读 · 0 评论 -
Spring | 初识Spring
1 Spring是什么?Wikipedia中这样解释:The Spring Framework is an application framework and inversion of control container for the Java platform. The framework’s core features can be used by any Java applicatio...原创 2019-02-14 19:26:54 · 586 阅读 · 3 评论