领导要求做项目移植,即把现有的项目中的部分内容移植到新项目中,技术是一样的,采用spring做依赖注入,我开始做的时候一直报nullpoint,debug打断点跟下来发现是当前调用的routeService报null,检查路径没有错,鼠标点击也能跳转到routeService类,我突然想起是不是我忘了做bean注入,我找到spring.xml文件,将routeServie注入进去:
<bean id="routeService" parent="txProxyTemplate">
<property name="target">
<bean class="com.business.route.service.impl.RouteServiceImpl"
autowire="byName" />
</property>
</bean>
将routeSerice注入之后,仍然报nullpoint,我很奇怪,已经注入了bean为什么还报错呢?后来上网搜,发现大伙也有碰到类似问题的,我才发现原来是我忘了给这个bean提供getter、setter方法,我在当前类里将routeService的getter和setter方法加上之后,系统恢复正常。
总结:spring是很常用的框架,我在项目中也经常用到,今天遇到的问题应该是不允许出现的错误,用到一个bean,肯定是要注入,并且要提供getter和setter方法的,我之所以这次费这么大劲调试,是因为我一直关注实现功能,用的bean基本上都是别人已经注入好的,自己都把这块儿知识给忽略了,直到今天移植项目遇到才想起来,在此批评自己一下,只关注实现功能,忽视了对项目整体全局的把握,以后在工作中我要摒弃这个毛病,多从整体上把握项目,记录下今天的错误,警醒自己。
分享到:
相关推荐
在上面的示例代码中,我们使用 @Resource 注解的方式来创建 UserDao 对象,这样,Spring 框架就可以将对象注入到 UserDao 对象中去了。 三、知识点总结 1. 使用 @Resource 注解的对象不能使用 new 关键字来创建,...
// ActionForm中注入对象的静态声明 private static IDaoService daoService; // 修改setter方法,返回boolean类型 public static boolean setDaoService(IDaoService daoService) { LookuserForm.daoService = ...
在Spring框架中,依赖注入(Dependency Injection,简称DI)是一种重要的设计模式,它使得对象之间的耦合度降低,提高了代码的可测试性和可维护性。本篇主要介绍Spring中的三种注入方式,着重讲解在"Spring三种注入...
标题中的“spring注入web端校验类”指的是在Spring框架中,如何将验证逻辑整合到Web应用程序中,以便对用户输入的数据进行有效性检查。在Web应用中,数据验证是至关重要的,可以防止非法数据进入系统,确保数据的...
标题提到的问题是“struts2+spring+hibernate整合中spring注入出错,页面中报空指针异常”,这通常是由于Spring的依赖注入没有正确配置导致的。 首先,让我们深入了解一下Struts2、Spring和Hibernate各自的核心概念...
构造器注入具有强制依赖项的特性,更加遵循面向对象设计的“不可变对象”原则,即对象一旦创建,其依赖项就不能再改变。使用构造器注入可以确保依赖项的注入不会为null,增强了程序的健壮性。同样地,可以通过XML...
在本教程中,我们将深入探讨如何使用JDK1.8来构建一个简单的MVC架构,并模仿Spring框架中的依赖注入(DI)机制。这个教程对于初学者来说尤其有价值,因为它可以帮助理解核心的Java EE开发概念,而无需依赖额外的框架如...
本文档总结了Spring框架中关于参数注入的多种方式,包括基本值注入、Bean对象注入、集合注入、表达式注入以及null或空字符串的注入。通过这些注入方式的灵活运用,可以构建出结构清晰、松耦合的Java应用程序。
Spring框架是Java开发中不可或缺的一部分,它以其强大的依赖注入(Dependency Injection,简称DI)特性,简化了对象的创建和管理,实现了松耦合,使得代码更加灵活和易于测试。在这个“Spring 入门代码实例”中,...
在测试中,你可以使用Mockito的`@Mock`和`@InjectMocks`注解来创建模拟对象并注入到被测试对象中。例如,如果你有一个`UserService`依赖于`UserRepository`,可以这样创建模拟对象: ```java import org.mockito....
在Spring框架中,IOC具体体现在对依赖关系的管理上,使得对象的创建、依赖关系的绑定等过程不再由应用程序自身完成,而是转移到一个外部容器(IoC容器)中进行管理,这样就实现了控制权的反转。 首先,Spring IoC...
3. **JSR-303/JSR-349 Bean Validation集成**:Spring 3.0支持了Bean Validation标准,允许开发者通过注解来定义和验证对象属性的约束,如`@NotNull`、`@Size`等。 4. **Spring MVC增强**:Spring Web MVC在3.0版本...
在实际应用中,通常会结合使用`@Aspect`和其他Spring注解如`@Service`、`@Repository`和`@Controller`,以实现全面的依赖注入和AOP功能。 为了启用Spring的AOP功能,需要在配置中声明`<aop:aspectj-autoproxy>`或...
- **其他注入形式:** 常量注入、Bean 注入、数组注入、List 注入、Map 注入、Set 注入、null 注入、Properties 注入、p 命名空间注入和 c 命名空间注入。 **4. Bean 的作用域:** - **Singleton:** 默认作用域...
- 依赖注入(DI)支持:Spring通过控制反转(IoC)支持将对象之间的依赖关系通过配置文件或注解来管理。 - 面向切面编程(AOP):Spring支持面向切面编程,可以将通用任务(如日志记录和事务管理)模块化。 - 事务...
Spring MVC 自动为对象注入枚举类型 在 Spring MVC 框架中,为对象自动注入枚举类型是一项非常有用的功能。然而,默认情况下,Spring MVC 只能自动转换基本数据类型,枚举类型需要特殊处理。在本篇文章中,我们将...
- 构造子注入则是在构造对象时通过构造函数完成依赖的注入,这种模式可以确保依赖对象不为null,增强了对象的不变性。 在实际应用中,不同的注入方式有各自的优势和适用场景,开发者需要根据具体需求来选择使用。...