今天同事遇到一个需求:
在外部以jar包的形式存放若干个插件,其中包含插件的类,以及spring配置文件;jar包不在classpath里
要实现这个需求,需要用到自定义的ClassLoader,并调用一些spring提供的API
首先是jar包的结构:
其中net文件夹下面,放了要从外部加载的目标类
配置文件spring-plugin.xml内容是:
在外部以jar包的形式存放若干个插件,其中包含插件的类,以及spring配置文件;jar包不在classpath里
要实现这个需求,需要用到自定义的ClassLoader,并调用一些spring提供的API
首先是jar包的结构:
其中net文件夹下面,放了要从外部加载的目标类
package net.kyfxbl.test;
public class User {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void sayName() {
System.out.println(getName());
}
}
配置文件spring-plugin.xml内容是:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"