Resource依赖注入支持system.property.开头的系统变量
This commit is contained in:
@@ -576,24 +576,11 @@ public final class ResourceFactory {
|
|||||||
}
|
}
|
||||||
boolean autoregnull = true;
|
boolean autoregnull = true;
|
||||||
final String rcname = tname;
|
final String rcname = tname;
|
||||||
ResourceEntry re = findEntry(rcname, genctype);
|
Object rs;
|
||||||
if (re == null) {
|
if (rcname.startsWith("system.property.")) {
|
||||||
if (rcname.startsWith("property.")) {
|
rs = System.getProperty(rcname.substring("system.property.".length()));
|
||||||
re = findEntry(rcname, String.class);
|
} else {
|
||||||
} else {
|
ResourceEntry re = findEntry(rcname, genctype);
|
||||||
re = findEntry(rcname, classtype);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (re == null) {
|
|
||||||
ResourceLoader it = findLoader(genctype, field);
|
|
||||||
if (it != null) {
|
|
||||||
it.load(this, src, rcname, field, attachment);
|
|
||||||
autoregnull = it.autoNone();
|
|
||||||
re = findEntry(rcname, genctype);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (re == null && genctype != classtype) {
|
|
||||||
re = findEntry(rcname, classtype);
|
|
||||||
if (re == null) {
|
if (re == null) {
|
||||||
if (rcname.startsWith("property.")) {
|
if (rcname.startsWith("property.")) {
|
||||||
re = findEntry(rcname, String.class);
|
re = findEntry(rcname, String.class);
|
||||||
@@ -602,22 +589,39 @@ public final class ResourceFactory {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (re == null) {
|
if (re == null) {
|
||||||
ResourceLoader it = findLoader(classtype, field);
|
ResourceLoader it = findLoader(genctype, field);
|
||||||
if (it != null) {
|
if (it != null) {
|
||||||
it.load(this, src, rcname, field, attachment);
|
it.load(this, src, rcname, field, attachment);
|
||||||
autoregnull = it.autoNone();
|
autoregnull = it.autoNone();
|
||||||
re = findEntry(rcname, classtype);
|
re = findEntry(rcname, genctype);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (re == null && genctype != classtype) {
|
||||||
|
re = findEntry(rcname, classtype);
|
||||||
|
if (re == null) {
|
||||||
|
if (rcname.startsWith("property.")) {
|
||||||
|
re = findEntry(rcname, String.class);
|
||||||
|
} else {
|
||||||
|
re = findEntry(rcname, classtype);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (re == null) {
|
||||||
|
ResourceLoader it = findLoader(classtype, field);
|
||||||
|
if (it != null) {
|
||||||
|
it.load(this, src, rcname, field, attachment);
|
||||||
|
autoregnull = it.autoNone();
|
||||||
|
re = findEntry(rcname, classtype);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (re == null && autoregnull) {
|
||||||
|
register(rcname, genctype, null); //自动注入null的值
|
||||||
|
re = findEntry(rcname, genctype);
|
||||||
|
}
|
||||||
|
if (re == null) continue;
|
||||||
|
re.elements.add(new ResourceElement<>(src, field));
|
||||||
|
rs = re.value;
|
||||||
}
|
}
|
||||||
if (re == null && autoregnull) {
|
|
||||||
register(rcname, genctype, null); //自动注入null的值
|
|
||||||
re = findEntry(rcname, genctype);
|
|
||||||
}
|
|
||||||
if (re == null) continue;
|
|
||||||
re.elements.add(new ResourceElement<>(src, field));
|
|
||||||
|
|
||||||
Object rs = re.value;
|
|
||||||
if (rs != null && !rs.getClass().isPrimitive() && classtype.isPrimitive()) {
|
if (rs != null && !rs.getClass().isPrimitive() && classtype.isPrimitive()) {
|
||||||
if (classtype == int.class) {
|
if (classtype == int.class) {
|
||||||
rs = Integer.decode(rs.toString());
|
rs = Integer.decode(rs.toString());
|
||||||
|
|||||||
Reference in New Issue
Block a user