[1] Java反射知识-->Spring IoC :http://www.iteye.com/topic/1123081 
[2] Java动态代理-->Spring AOP :http://www.iteye.com/topic/1123293 
[3] 属性编辑器,即PropertyEditor-->Spring IoC:http://www.iteye.com/topic/1123628 
[4] XML基础知识-->Spring配置:http://www.iteye.com/topic/1123630 
[5] 注解-->Spring配置:http://www.iteye.com/topic/1123823 
[6] 线程本地变更,即ThreadLocal-->Spring事务管理:http://www.iteye.com/topic/1123824 
[7] 事务基础知识-->Spring事务管理:http://www.iteye.com/topic/1124043 
[8] 国际化信息-->MVC:http://www.iteye.com/topic/1124044 
[9] HTTP报文-->MVC:http://www.iteye.com/topic/1124408 

Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通过该元信息对象可以获知Class的结构信息:如构造函数、属性和方法等。Java允许用户借由这个Class相关的元信息对象间接调用Class对象的功能,这就为使用程序化方式操作Class对象开辟了途径。 

  1. //①通过类装载器获取Car类对象
  2. ClassLoader loader = Thread.currentThread().getContextClassLoader();
  3. Class clazz = loader.loadClass("com.baobaotao.reflect.Car");
  4. //②获取类的默认构造器对象并通过它实例化Car
  5. Constructor cons = clazz.getDeclaredConstructor((Class[])null);
  6. Car car = (Car)cons.newInstance();
  7. //③通过反射方法设置属性
  8. Method setBrand = clazz.getMethod("setBrand",String.class);
  9. setBrand.invoke(car,"红旗CA72");
  10. Method setColor = clazz.getMethod("setColor",String.class);
  11. setColor.invoke(car,"黑色");
  12. Method setMaxSpeed = clazz.getMethod("setMaxSpeed",int.class);
  13. setMaxSpeed.invoke(car,200);
  14. return car;
  15. }
  16. public static void main(String[] args) throws Throwable {
  17. Car car = initByDefaultConst();
  18. car.introduce();
  19. }
  20. }

注意:获取当前类的类加载器ClassLoader loader = Thread.currentThread().getContextClassLoader();

注意:获取当前类的类加载器ClassLoader loader = Thread.currentThread().getContextClassLoader();

注意:获取当前类的类加载器ClassLoader loader = Thread.currentThread().getContextClassLoader();

注意:获取当前类的类加载器ClassLoader loader = Thread.currentThread().getContextClassLoader();

Spring IOC知识java反射的更多相关文章

  1. Spring Ioc知识整理

    Ioc知识整理(一): IoC (Inversion of Control) 控制反转. 1.bean的别名 我们每个bean元素都有一个id属性,用于唯一标识实例化的一个类,其实name属性也可用来 ...

  2. Spring IoC — 基于Java类的配置

    普通的POJO只要标注@Configuration注解,就可以为Spring容器提供Bean定义的信息了,每个标注了@Bean的类方法都相当于提供一个Bean的定义信息. 基于Java类的配置方法和基 ...

  3. 【小家Spring】Spring IoC是如何使用BeanWrapper和Java内省结合起来给Bean属性赋值的

    #### 每篇一句 > 具备了技术深度,遇到问题可以快速定位并从根本上解决.有了技术深度之后,学习其它技术可以更快,再深入其它技术也就不会害怕 #### 相关阅读 [[小家Spring]聊聊Sp ...

  4. Java Spring IOC用法

    Java Spring IOC用法 Spring IoC 在前两篇文章中,我们讲了java web环境搭建 和 java web项目搭建,现在看下spring ioc在java中的运用,开发工具为In ...

  5. 应聘阿里,字节跳动,美团必须掌握的Spring IOC与工厂模式

    Spring IOC与工厂模式 PS:本文内容较为硬核,需要对java的面向对象.反射.类加载器.泛型.properties.XML等基础知识有较深理解. (一)简单介绍 在讲Spring IOC之前 ...

  6. Spring IOC 源码简单分析 04 - bean的初始化

      ### 准备 ## 目标 了解 Spring 如何初始化 bean 实例 ##测试代码 gordon.study.spring.ioc.IOC04_Initialization.java publ ...

  7. Spring IOC 源码简单分析 02 - Bean Reference

    ### 准备 ## 目标 了解 bean reference 装配的流程 ##测试代码 gordon.study.spring.ioc.IOC02_BeanReference.java   ioc02 ...

  8. Spring IOC 源码简单分析 01 - BeanFactory

    ### 准备 ## 目标 了解 Spring IOC 的基础流程 ## 相关资源 Offical Doc:http://docs.spring.io/spring/docs/4.3.9.RELEASE ...

  9. Spring IOC 少

    控制反转好处 IOC:控制反转也叫依赖注入,IOC利用java反射机制,AOP利用代理模式.所谓控制反转是指,本来被调用者的实例是有调用者来创建的,这样的缺点是耦合性太强,IOC则是统一交给sprin ...

随机推荐

  1. 【HIHOCODER 1182】欧拉路·三

    描述 小Hi和小Ho破解了一道又一道难题,终于来到了最后一关.只要打开眼前的宝箱就可以通关这个游戏了. 宝箱被一种奇怪的机关锁住: 这个机关是一个圆环,一共有2^N个区域,每个区域都可以改变颜色,在黑 ...

  2. CodeForces - 948C Producing Snow(优先队列)

    题意: n天. 每天你会堆一堆雪,体积为 v[i].每天都有一个温度 t[i] 所有之前堆过的雪在第 i 天体积都会减少 t[i] . 输出每天融化了的雪的体积. 这个题的正解我怎么想都很难理解,但是 ...

  3. UVa 1309 DLX Sudoku

    16×16的数独. 看白书学的DLX,有些细节还有待消化,贴个模板先. #include <cstdio> #include <cstring> #include <al ...

  4. 创建dll及使用

    一.创建动态链接库文件 ** 1.打开VS2013,选择文件,新建工程  2.选择新建W32控制台应用程序,这里将工程名改为makeDLL  3.在应用程序类型中选择DLL,点击完成  4.完成以上步 ...

  5. 用HashMap优化斐波那契数列 java算法

    斐波那契是第一项为0,第二项为1,以后每一项是前面两项的和的数列. 源码:Fibonacci.java public class Fibonacci{ private static int times ...

  6. 常用软件URL

    1.MSDN:https://msdn.itellyou.cn/ 2.软碟通(UltraISO)http://rj.baidu.com/soft/detail/11522.html?ald Ultra ...

  7. Python_Virtualenv及Pycharm配置

    Virtualenv存在的意义 在Python使用过程中,你是否有遇到过同时需要开发多个应用的情况? 假设A应用需要使用DJango1.X版本,而B应用需要使用DJango2.X的版本,而你全局开发环 ...

  8. Coursera无法观看课程解决方案

    Coursera无法观看课程解决方案 最近Cousera一直表现不佳,课程视频无法观看.小编结合网上找到的信息,操作一番便解决了问题,视频也可以正常观看了. 首先是win+s找到记事本,并用管理员身份 ...

  9. Python守护进程、进程互斥锁、进程间通信ICP(Queue队列)、生产者消费者模型

    知识点一:守护进程 守护进程:p1.daemon=True 守护进程其实就是一个“子进程“,守护=>伴随 守护进程会伴随主进程的代码运行完毕后而死掉 进程:当父进程需要将一个任务并发出去执行,需 ...

  10. 浅谈android反调试之 转发端口

    反调试方案: 我们最通常使用的动态工具是IDA, IDA的动态调试端口默认为23946,我们可以通过/pro/net/tcp 查看android 系统所有TCP Socket 启动android_se ...