0 0

Spring3 采用注解方法,空指针异常20

@Component
@Scope("prototype")
public class SystemParameter 
{
	private static SystemParameter systemParameter;		
	private static Map systemParam;  // 系统参数	
	private static List userList;  // 在线用户
	private List functionList;  // 菜单list
	
	@Resource
	private FunctionService functionService;
	
	/**
	 * 私有构造函数
	 * 
	 * @param fileName
	 * @throws Exception 
	 * @throws DocumentException
	 * @throws FileNotFoundException
	 */
	private SystemParameter() throws Exception
	{	
		userList = new ArrayList();
//		functionList = new FunctionServiceImpl().getList(null);
		functionList = functionService.getList(null);
		System.out.println(" [ Initializing system config success! ] ");
	}


我在用单例模式调用时,出现functionService为空,这个问题折腾了我好久,请大牛帮看一下啊!
2013年12月13日 14:47

5个答案 按时间排序 按投票排序

0 0

@Scope("prototype") 
配成多例,又搞单例,很搞笑

2013年12月14日 12:16
0 0

functionService是在field上注入的,你构造的时候,field还没注入呢,当然是null了。要么你就在构造函数注入,要么就在注入完成之后的init方法调用functionService

2013年12月13日 18:39
0 0

FunctionService 的代码,spring的配置文件贴一下

2013年12月13日 16:26
0 0

看下functionservice是否已经初始化了,然后再看beanname是否是functionService?

2013年12月13日 15:46
0 0

添加 private FunctionService functionService; 的set方法, 不行把@Resource改为@Resource(name="functionService") , 再不行你得把配置文件和FunctionService接口贴出来看了

2013年12月13日 15:44

相关推荐

    struts2+spring+hibernate整合中spring注入出错。页面中报空指针异常。高手来看看怎么决绝。

    标题提到的问题是“struts2+spring+hibernate整合中spring注入出错,页面中报空指针异常”,这通常是由于Spring的依赖注入没有正确配置导致的。 首先,让我们深入了解一下Struts2、Spring和Hibernate各自的核心概念...

    继承 空指针 spring

    当我们直接在代码中使用`getHibernateTemplate()`方法而没有确保它已被正确初始化时,就会触发空指针异常。这通常是因为我们忘记在Spring配置文件中声明并注入`HibernateTemplate`或者`SessionFactory`。 为了防止...

    spring static静态方法里面注入bean空指针解决

    在Spring框架中,静态方法内部注入Bean导致空指针异常是一个常见的问题,特别是在处理较旧的项目时。这里我们分析两种解决这个问题的方法。 首先,让我们深入理解问题的原因。在Spring中,`@Autowired`注解用于自动...

    java注解使用例子

    - **编译时检查**:通过使用`@NonNull`等注解,编译器可以在编译阶段检查潜在的空指针异常。 - **运行时处理**:像`@SpringBootApplication`这样的注解,Spring框架在运行时会解析这些注解来配置应用。 - **代码生成...

    java 注解开发(包含详细注释,项目可以直接运行)

    - **运行时检查**:例如`@NotNull`进行非空校验,避免空指针异常。 - **文档生成**:Javadoc可以包含注解信息,增强文档的完整性。 - **编译时检查**:`@NonNullByDefault`等注解可以设置默认非空,帮助开发者在...

    由@NotNull注解引出的关于Java空指针的控制

    Java中的空指针异常(NullPointerException)是开发过程中常见的错误,尤其是在处理对象引用时。`@NotNull`注解是Java中用来表明某个参数或字段不应该为null的一种方式,它可以帮助我们提高代码的健壮性和可读性。...

    spring boot 1.2.3,spring framework4.1.6,mybatis,lombok,oracle的一个sample

    4. `@NonNull`: 检查字段是否为null,防止空指针异常。 **Oracle** Oracle是世界上最流行的商业关系型数据库管理系统之一。在项目中使用Oracle,你可以: 1. **高性能**: 提供了强大的事务处理能力,支持大量并发...

    基于Spring Boot框架的综合应用系统.zip

    基于Spring Boot框架的综合应用系统 项目简介 本项目是一个基于Spring Boot框架的综合应用系统,涵盖了从基础的Maven项目创建... 处理参数缺失异常、空指针异常和自定义异常。 4. 切面AOP 使用Pointcut定义切点。

    Java Web开发异常处理方式及AOP技术

    通过这种方式,我们可以统一处理服务层的所有空指针异常,而无需在每个方法内部重复编写异常处理代码。 综上所述,Java Web开发中的异常处理涉及多种策略,包括基础的try-catch-finally、Servlet的异常处理机制、...

    spring小练习

    这样可以避免空指针异常,并且有助于保持类的不可变性。 5. **单例与原型(spring_IOC_6_singleton&prototype)**:Spring提供了两种常见的bean生命周期管理策略——单例(Singleton)和原型(Prototype)。单例...

    Struts2+Spring2.5+Hibernate3+annotation 整合程序

    5. 故障排查:可能遇到的问题及解决办法,如类加载冲突、空指针异常等。 文件“lib3”可能是项目所需的库文件夹,包含了整合这些框架所需的各种jar包,如struts2、spring、hibernate以及相关的依赖库。这些库文件...

    Spring核心代码分析

    其中,构造器注入是最推荐的方式,因为它确保了对象在创建时就拥有所有必要的依赖,从而避免了后续可能出现的空指针异常。 ##### 2. **面向切面编程(AOP)** 面向切面编程是Spring提供的另一种强大功能,它允许...

    Spring事务管理只对出现运行期异常进行回滚

    运行时异常是程序逻辑错误,通常表示编程错误或不可恢复的情况,比如除以零、空指针异常等。检查异常则是在编译时期就需要被处理的异常,如文件未找到、网络连接失败等,这些异常通常是可以预见和恢复的。 Spring的...

    Java之注解

    - `@ SuppressWarnings`:抑制编译器的警告,例如未使用的变量或潜在的空指针异常。 3. **自定义注解**: - 自定义注解需要使用`@interface`关键字,并可以包含元素(也称为成员或属性),元素可以有默认值。 - ...

    spring的最新特性介绍

    Spring 5.x改进了依赖注入,增加了类型安全的构造函数注入,以及对Optional和Provider的支持,降低了空指针异常的风险。 10. **测试框架增强** Spring Test和Spring Boot Test框架得到了扩展,提供了更多的测试...

    Android AOP 注解详解及简单使用实例(三)

    1. 使用 @NonNull 注解来标注方法参数,避免空指针异常 2. 使用 @StringRes 注解来标注字符串资源,避免资源 id 冲突 3. 实现 ButterKnife 库的 BindView 注解和解析器,实现 View 的自动注入。 通过本文的学习,...

    Spring4支持的Java8功能共12页.pdf.zip

    4. **Optional**:Optional类用于表示可能为null的值,降低了空指针异常的风险。Spring 4在返回值和参数中支持Optional,增强了类型安全。 5. **日期和时间API**:Java 8的日期和时间API(java.time)取代了过时的...

    spring 数据绑定心得,适合新手

    在学习过程中,你可能会遇到各种问题,比如绑定失败、空指针异常、类型转换异常等。Spring提供了一些机制来处理这些问题,如使用`BindingResult`对象来获取绑定错误的信息,或者通过`@Valid`注解配合验证框架(如...

    struts2+hibernate+spring整合

    在实际开发中,你可能会遇到一些常见的问题,比如配置错误、依赖冲突、空指针异常等。通过阅读错误信息、查阅文档和社区解答,大多数问题都可以得到解决。对于初学者来说,不断实践和理解每一个框架的原理是提高的...

    mybatis并发执行时出现NullPointerExce

    因为Spring默认的单例模式可能导致多个线程共享同一个Mapper实例,而Mapper通常不设计为线程安全的,这可能导致空指针异常。 - 解决方案是将Mapper接口的scope设置为`prototype`,使每个请求都能获取到一个新的...

Global site tag (gtag.js) - Google Analytics