如何将DruidDataSource实例添加到DruidPlugin里?


DruidDataSource在jifnal创建DruidPlugin之前,就通过读取配置文件,根据读取类路径反射创建实例,类似Spring xml配置文件一样

     <bean id="druidDataSource" class="com.alibaba.druid.pool.DruidDataSource">

        <property name="driverClassName" value="org.postgresql.Driver"></property>

        <property name="url" value="jdbc:postgresql://127.0.0.1:5432/xxxxx"></property>

        <property name="username" value="postgres"></property>

        <property name="password" value="123456"></property>

    </bean>

只不过可能不是xml,而是其他的形式。

jifnal创建DruidPlugin之前DruidDataSource就已经被反射创建,通过类似getbean之类的函数获得DruidDataSource实例,然后怎么加入到DruidPlugin中?我发现DruidPlugin源码内,并没有提供添加DruidDataSource实例的功能,它的构造函数只能必须再设置url,username,password,driver.但是DruidPlugin内部有一个DruidDataSource类型字段。怎么把DruidDataSource实例设置进去?


当然可以通过 .getUrl(), .getUsername(), .getPassword(),.getDriverClassName() 方式,但是反射创建的DruidDataSource实例可能不止也设置了这四个,也设置了其他内容啊。


评论区

JFinal

2020-05-12 09:41

将 DruidDataSource 直接传递给 ActiveRecordPlugin 即可,不必再与 DruidPlugin 再有什么瓜葛

热门反馈

扫码入社