- 名师讲坛:Spring实战开发(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- 李兴华
- 254字
- 2021-03-30 21:09:22
5.5 Class表达式
Class的主要功能是实现反射处理,在SpEL中可以直接通过Class表达式实现对象处理以及类中成员或方法的调用。Class表达式的处理形式如表5-6所示。
表5-6 Class表达式
![](https://epubservercos.yuewen.com/5C1AE0/16499866905000506/epubprivate/OEBPS/Images/figer792.jpg?sign=1739394205-06gIIlz2gOtM06elgFANWDxY2hSVsjdP-0-984e0e37f123df6dfac38ada29ce67d6)
下面针对表5-6给出的表达式操作,做几个详细的说明。
范例:【mldnspring-base模块】获取Class类型对象。
![](https://epubservercos.yuewen.com/5C1AE0/16499866905000506/epubprivate/OEBPS/Images/figer713.jpg?sign=1739394205-ItIiAHqMpb2xnUPJRLQ6hbuE9PPHtVPM-0-1aa60751de87568214d16adf005dfb98)
本程序获取了String类的Class对象。这种做法与Class.forName功能类似,但显然基于SpEL处理更加规范。
范例:【mldnspring-base模块】调用静态方法。
![](https://epubservercos.yuewen.com/5C1AE0/16499866905000506/epubprivate/OEBPS/Images/figer714.jpg?sign=1739394205-vT4orAljBp7iNOrPUvAh6UoCarxYxCfB-0-5247bd6e3f79e3d7f5976898b755b743)
范例:【mldnspring-base模块】表达式实例化对象。
![](https://epubservercos.yuewen.com/5C1AE0/16499866905000506/epubprivate/OEBPS/Images/figer715.jpg?sign=1739394205-0q2IjKEZBt7zVIt5Cmb4q4uv4mFRIuDy-0-c1ebdc6e24b826af1549462ecbc788f0)
通过Class表达式可以实现反射调用,最为关键的是可以利用字符串的结构实现指定类对象的实例化处理。这一点大大加强了字符串的功能,也加强了Spring配置文件的功能。