首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在使用JndiProperty @Value注解时禁用Spring源代码

,可以通过以下步骤实现:

  1. 禁用Spring源代码:在Spring配置文件中,可以通过设置spring.main.allow-bean-definition-overriding属性为false来禁用Spring源代码。这样做可以防止Spring源代码中的注解处理器对@Value注解进行处理。
  2. 自定义属性注入:由于禁用了Spring源代码中的注解处理器,我们需要自己实现属性注入的逻辑。可以通过以下步骤实现:
  3. a. 创建一个类,例如CustomPropertyConfigurer,实现BeanFactoryPostProcessor接口。
  4. b. 在CustomPropertyConfigurer类中,重写postProcessBeanFactory方法。在该方法中,可以使用JNDI API获取JNDI属性值,并将其注入到相应的Bean中。
  5. c. 在Spring配置文件中,将CustomPropertyConfigurer类配置为一个Bean,并确保它在其他需要使用JNDI属性的Bean之前被加载。
  6. 示例代码:
  7. 示例代码:
  8. 在Spring配置文件中,将CustomPropertyConfigurer类配置为一个Bean:
  9. 在Spring配置文件中,将CustomPropertyConfigurer类配置为一个Bean:
  10. 确保CustomPropertyConfigurer类在其他需要使用JNDI属性的Bean之前被加载。

这样,当使用@Value注解时,Spring源代码将不会对其进行处理,而是通过自定义的属性注入逻辑从JNDI中获取属性值并注入到相应的Bean中。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Spring Bean生命周期详解「建议收藏」

我们知道一个对象的生命周期:创建(实例化-初始化)-使用-销毁,而在Spring中,Bean对象周期当然遵从这一过程,但是Spring提供了许多对外接口,允许开发者对三个过程(实例化、初始化、销毁)的前后做一些操作。   这里就实例化、初始化区别做一个说明,在Spring Bean中,实例化是为bean对象开辟空间(具体可以理解为构造函数的调用),初始化则是对属性的初始化,说的具体点,这里的属性初始化应该是属性的注入(构造函数也可以有属性的初始化语句,但不属于这一部分),属性注入是通过setter方法注入属性(不管是注解方式还是bean配置property属性方式,其实质都是通过属性的setter方法实现的)。

01

Spring学习笔记(2)一DI依赖注入和Spring Bean配置、注解原理、动态注入

Spring容器是Spring框架的核心。容器将创建对象,它们连接在一起,配置它们,并从创建到销毁管理他们的整个生命周期。在Spring容器使用依赖注入(DI)来管理组成应用程序的组件。这些对象被称为Spring Beans。 IOC(Inversion of Control):传统的方法,当某个java对象A需要调用对象B时,是由调用者(对象A)通过new关键字来创建对象B的,而在Spring中,则是由spring完成创建的,所以“控制反转”了。Spring通过一种称作控制反转(IoC)的技术促进了低耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI(JNDI是 Java 命名与目录接口Java Naming and Directory Interface))相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 DI(Dependency Injection)—IOC的另一种表述方式:即组件以一些预先定义好的方式(例如: setter方法)接受来自如容器的资源注入.相对于 IOC而言,这种表述更直接。

04

源码浅析——容器刷新流程概览

本文是spring源码浅析系列的第一篇。全文总共分为四部分,第一部分总结一下 Spring的好处,毕竟如果不好用,它也不会迅速在开发框架里迅速脱颖而出。第二部分主要介绍一下Spring组织代码的底层软件开发逻辑,可以让你知其然更知其所以然。第三部分主要通过spring组成部分的接口与类的继承关系的对比,来说明spring中两驾马车BeanFactory和ApplicationContext间的区别和联系。第四部分,也是本文扣题部分,讲解spring应用最终成功创建依赖于bean及其运行容器,是经由什么样一个原理完成创建并发生关联的,这部分有些环节介绍的较为详细,有些部分一笔带过,原因是有些通过方法名称你基本知道它存在的作用,同时实现逻辑也并不复杂,所以就只做简略概括。文中使用版本是Spring Boot 2.1.2.RELEASE(即Spring 5.1.4),以默认配置启动,分析一下框架的工作原理。

01
领券