反射
反射机制是 Java 语言提供的一种基础功能,赋予程序在运行时自省(introspect)的能力。简单来说就是通过反射,可以在运行期间获取、检测和调用对象的属性和方法。
反射的使用场景
在现实中反射的使用场景有很多,比如以下几个。
使用场景一:编程工具 IDEA 或 Eclipse 等,在写代码时会有代码(属性或方法名)提示,就是因为使用了反射。
使用场景二:很多知名的框架,为了让程序更优雅更简洁,也会使用到反射。
例如,Spring 可以通过配置来加载不同的类,调用不同的方法,代码如下所示:
<bean id="person" class="com.spring.beans.Person" init-method="initPerson">
</bean>
例如,MyBatis 在 Mapper 使用外部类的 Sql 构建查询时,代码如下所示:
@SelectProvider(type = PersonSql.class, method = "getListSql")
List<Person> getList();
class PersonSql {
public String getListSql() {
&nbs

本文深入探讨Java反射机制,介绍了反射的使用场景、基本使用及总结。同时讲解了动态代理的概念,讨论了JDK原生动态代理与cglib的区别,并给出了相关面试题解析,帮助读者更好地理解和应用这两个重要概念。
订阅专栏 解锁全文
1125

被折叠的 条评论
为什么被折叠?



