//JSTL函数,完成权限的即时认证
public class SecurityFunction {

private static AclManager aclManager;
public static boolean method(int userId, String sn, int permission) {
                    System.out.println(aclmanager);//输出为null 所以报空指针错,
return aclManager.hasPermissionByResourceSn(userId, sn, permission);
}

@Resource
public void setAclManager(AclManager aclManager) {
SecurityFunction.aclManager = aclManager;
}}
这个spring 注入静态变量 ,应该怎么写啊???? 我用的是annotation 上面写的要报空指针错~~????

解决方案 »

  1.   

    没碰过这样的情况. 你的bean有没有设置延迟初始化啊. 
      

  2.   

    对了,SecurityFunction 这个类必须也交给spring的IOC容器管理,要不然它才不管你的注入. 是否是这个问题,你试一下.
      

  3.   

    哥:我是用annotation 注入的,其它 的都是得行的 但是就是   注入静态变量    的时候,报空指针错啊~~private static AclManager aclManager;
      

  4.   

    干吗要用静态的? 
    你在配置文件里面加上init-method="init"
    自己写init方法初始化
      

  5.   

    静态有何意义呢,spring注入默认就是单例啊