`
yongguang423
  • 浏览: 110540 次
  • 性别: Icon_minigender_1
  • 来自: 山东
社区版块
存档分类
最新评论

Spring 源码之判断属性基本类型

 
阅读更多
判断是否是基本类型	
/**
	 * Check if the given type represents a "simple" property:
	 * a primitive, a String or other CharSequence, a Number, a Date,
	 * a URI, a URL, a Locale, a Class, or a corresponding array.
	 * <p>Used to determine properties to check for a "simple" dependency-check.
	 * @param clazz the type to check
	 * @return whether the given type represents a "simple" property
	 * @see org.springframework.beans.factory.support.RootBeanDefinition#DEPENDENCY_CHECK_SIMPLE
	 * @see org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#checkDependencies
	 */
	public static boolean isSimpleProperty(Class<?> clazz) {
		Assert.notNull(clazz, "Class must not be null");
		return isSimpleValueType(clazz) || (clazz.isArray() && isSimpleValueType(clazz.getComponentType()));
	}

 

	/**
	 * Check if the given type represents a "simple" value type:
	 * a primitive, a String or other CharSequence, a Number, a Date,
	 * a URI, a URL, a Locale or a Class.
	 * @param clazz the type to check
	 * @return whether the given type represents a "simple" value type
	 */
	public static boolean isSimpleValueType(Class<?> clazz) {
		return ClassUtils.isPrimitiveOrWrapper(clazz) || clazz.isEnum() ||
				CharSequence.class.isAssignableFrom(clazz) ||
				Number.class.isAssignableFrom(clazz) ||
				Date.class.isAssignableFrom(clazz) ||
				clazz.equals(URI.class) || clazz.equals(URL.class) ||
				clazz.equals(Locale.class) || clazz.equals(Class.class);
	}

 

 

分享到:
评论

相关推荐

    Spring源码解析.pdf

    ### Spring源码解析知识点 #### 一、Spring IoC 容器详解 ##### 1. BeanFactory —— 最基础的IoC容器 - **概念**:`BeanFactory` 是Spring框架中最基本的IoC容器,它负责管理Bean的生命周期,包括创建、配置和...

    Spring源码

    3. **Bean工厂与ApplicationContext**:Bean工厂是Spring管理对象的基本容器,而ApplicationContext则是在Bean工厂的基础上增加了更多的企业级服务,如国际化、事件传播、资源加载等。ApplicationContext通常用于...

    Spring2(源码)

    Spring框架是Java开发中最常用的轻量级开源框架之一,它...以上是对Spring框架的一些核心概念和关键点的介绍,深入研究Spring源码可以帮助我们更好地理解其实现细节,提高开发效率,并为定制化开发和性能优化提供基础。

    Spring Boot源码(spring-boot-2.6.2.zip)

    5. `org.springframework.boot.context.properties.*`: 属性绑定和配置源的处理。 通过阅读这些核心组件的源码,我们可以深入理解Spring Boot是如何加载配置、启动应用、自动配置bean以及与其他Spring框架组件协作...

    spring3.2.6源码文件

    1. **依赖注入(Dependency Injection, DI)**:这是Spring最基础也是最重要的特性之一。通过DI,Spring容器管理对象的生命周期和它们之间的关系,允许开发者松耦合代码,提高可测试性和可维护性。 2. **IoC容器**:...

    spring源码 4.1.6

    Spring框架是Java开发中最常用的轻量级框架之一,它的4.1.6版本是一个稳定且广泛使用的版本。本文将深入探讨Spring 4.1.6的源码,解析其核心概念和技术,帮助开发者理解并更好地利用这个强大的工具。 1. **IoC...

    spring-boot源码

    1. **自动配置**:Spring Boot的自动配置是其核心特性之一。在`spring-boot-autoconfigure`模块中,通过条件注解(如`@ConditionalOnClass`, `@ConditionalOnBean`等)来判断类路径中的类是否存在,进而决定是否加载...

    spring 4.3.1源码

    它广泛用于配置文件中,用于动态计算属性值和进行条件判断。 8. **AOP代理**:Spring支持JDK动态代理和CGLIB代理,用于创建AOP代理对象,以实现切面的功能。 9. **声明式事务管理**:Spring提供了一种声明式的方式...

    spring 2.5.6源码

    SpEL 在配置和切面中非常有用,例如在条件判断或属性设置中。 10. **AOP 切面**:使用 `@Aspect` 注解定义切面,`@Before`、`@After`、`@Around` 和 `@AfterReturning` 等注解用于定义通知(advisors),定义切点...

    spring-framework-4.0.6.RELEASE 源码

    在4.0.6版本中,开发者可以使用SpEL进行条件判断、属性访问、方法调用等,增强了配置的灵活性。 10. **WebSocket支持** Spring 4.0引入了对WebSocket协议的支持,4.0.6版本进一步完善了WebSocket的应用场景,包括...

    Spring源码demo(含数据库脚本)

    **Spring 源码分析与应用** Spring 是一个开源的 Java 平台,它为构建企业级应用程序提供了全面的框架支持。Spring 框架的核心是依赖注入(Dependency Injection,DI),它允许开发者通过配置来管理对象之间的关系...

    spring 源码

    在`org.springframework.expression`包中,SpEL支持属性访问、方法调用、算术运算、逻辑判断等功能,广泛应用于Bean的属性注入和AOP的切点表达式。 6. **测试支持** Spring为单元测试和集成测试提供了丰富的支持。...

    spring-aop-ProxyFactoryBean 源码分析

    在Spring框架中,AOP(面向切面编程)是一个核心特性,它允许我们在不修改代码的情况下,对程序的行为进行统一的管理和控制。`ProxyFactoryBean`是Spring AOP实现中的一个重要类,它用于创建代理对象,使我们能够...

    springcloud Eureka源码解读

    SpringCloud Eureka是Spring Cloud生态系统中的一个关键组件,主要用于实现服务发现。Eureka是一个基于REST的服务,用于定位运行在分布式系统中的服务,以达到高可用和容错的目的。本篇文章将深入Eureka的源码,帮助...

    spring源码 3.0.4

    在3.0.4中,SpEL已经相当强大,能够进行复杂的条件判断和属性访问。 10. **测试支持**:Spring提供了JUnit和TestNG的集成,便于进行单元测试和集成测试。在3.0.4版本中,测试框架已经相当完善,支持模拟对象和依赖...

    spring 源码解析

    Spring 源码解析系列将深入探讨 Spring 框架的核心机制,特别是 IOC(Inversion of Control,控制反转)和 AOP(Aspect Oriented Programming,面向切面编程)的实现。本文首先关注的是 Spring 中的 IOC 容器,它是...

    spring 学习源码

    SpEL 允许在运行时动态评估表达式,常用于配置属性或条件判断。`StandardEvaluationContext` 和 `ExpressionParser` 是 SpEL 的关键组件。 9. **Spring 事件(Event)** Spring 提供了一个事件发布和监听机制,`...

    Spring的IoC容器初始化源码解析

    ### Spring的IoC容器初始化源码解析 #### 一、Spring框架的核心——IoC容器 Spring框架是一个开源的轻量级Java开发框架,其核心功能是IoC(Inversion of Control,控制反转)容器和AOP(Aspect Oriented ...

    最全的Spring考题与答案

    Spring框架是Java开发中不可或缺的一部分,它以其丰富的功能和易用性深受开发者喜爱。以下是针对题目提供的内容,详细解析Spring框架的相关知识点。 1. **Spring框架的优点** - 分层架构:Spring允许开发者选择...

Global site tag (gtag.js) - Google Analytics