Spring关于druid使用注入的深度理解

在eclipse使用Druid时,我们都是通过DruidDataSourceFactory的createDataSource(Properties p)方法创建 dataSource;
而在Spring依赖注入(DI) (如下边) DataSource对象时,用的却是DruidDataSource,而 

     很明显是set注入,在DruidDataSource里是没有setUsername等方法的,而且
有的话又是如何实现呢?

测试



    




    
    
    
    

总结:我们不管是使用DruidDataSourceFactory的create…方法传入Properties对象,还是DruidDataSource直接设置相关属性,最后都会将获取的值传入
DruidAbstractDataSource里。后边创建流程相同,只是方法不同,那么写工具类时一般用工厂,Spring注入时考虑DruidDataSource直接设置属性。
扩展:Spring 获取DataSource时,也应该可以先获取工厂对象,后通过普通工厂或工厂的静态方法来获取

你可能感兴趣的:(java,spring,反射)