循环引用是你配置bean的时候,构建方式上出了错。比如,创建A对象的时候,你引用到了B,而创建B对象的时候,你又引用到了A。你仔细检查下你的构造器
循环依赖——在采用构造器注入的方式配置bean时,很有可能会产生循环依赖的情况。比如说,一个类A,需要通过构造器注入类B,而类B又需要通过构造器
注入类A。如果为类A和B配置的bean被互相注入的话,那么Spring IoC容器将检测出循环引用,并抛出
BeanCurrentlyInCreationException异常。对于此问题,一个可能的解决方法就是修改源代码,将某些构造器注入改为
setter注入。另一个解决方法就是完全放弃构造器注入,只使用setter注入。换句话说,除了极少数例外,大部分的循环依赖都是可以避免的,不过采
用setter注入产生循环依赖的可能性也是存在的。与通常我们见到的非循环依赖的情况有所不同,在两个bean之间的循环依赖将导致一个bean在被完
全初始化的时候被注入到另一个bean中(如同我们常说的先有蛋还是先有鸡的情况)。)
如果你的对象是标准Bean规范(即每个成员变量均有对应的set、get方法配对。),无需如此麻烦。从代码中看,你是想获取某个成员变量的非nll值并打印出来。Field[] fields= objectClass.getDeclaredFields()//objectClass为目标类名
for(Field field:fields){
field.setAccessible(true)
Object fieldValue = field.get(obj)//当前对象的某个成员变量值,obj为当前对象
if(fieldValue!=null){
System.out.println(" ")//选择输出的内容.
break//根据需要是否添加.添加了只是打印某个,不添加是打印所有非null属性值.
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)