我是一个尝试整合mybatis的新手。最终出现了这个空指针异常。
我的POM
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.1.1</version>
</dependency>
我的Spring配置
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
<context:component-scan base-package="biz.canisrigel.slapMe" />
<!-- enable autowire -->
<context:annotation-config />
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost/slapMe" />
<property name="username" value="root" />
<property name="password" value="adminadmin" />
</bean>
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="typeAliasesPackage" value="biz.canisrigel.slapMe.bean" />
</bean>
<!-- scan for mappers and let them be autowired -->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="biz.canisrigel.slapMe.mapper" />
</bean>
我的地图绘制者
public interface UserMapper {
UserBean getUser();
}
<mapper namespace="biz.canisrigel.slapMe.mapper.UserMapper">
<select id="getUser" resultType="UserBean">
Select * from Users where id = 1;
</select>
</mapper>
用户Bean
只是几个变量
我的DAO
@Service
public class UserDao {
@Autowired
private UserMapper userMapper;
public UserBean getUser(int id) {
if (userMapper == null) {
System.out.println("Errorrrrrr...................");
// return new UserBean();
}
return userMapper.getUser();
}
}
控制器
@Controller
@RequestMapping("/authenticate")
public class LoginController {
@RequestMapping("/index")
public String index() {
UserDao userDao = new UserDao();
System.out.println(userDao.getUser(1).getPassword());
return "Login";
}
}
错误
org.springframework.web.util.NestedServletExcture:请求处理失败;嵌套异常java.lang.NullPointerExctureorg.springframework.web.servlet.FrameworkServlet.process请求(FrameworkServlet.java:932)org.springframework.web.servlet.FrameworkServlet.do获取(FrameworkServlet.java:816)javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
您的UserDao
对象需要来自Spring对象存储以及映射器。像您这样在索引
方法中实例化UserDao对象,意味着您在调用时映射器是null
,因为Spring没有为您设置对象,因此无法自动连接映射器。
您需要使用@Resource
注释将您的UserDao对象带到控制器中,如下所示:
@Controller
@RequestMapping("/authenticate")
public class LoginController {
@Resource
UserDao userDao;
@RequestMapping("/index")
public String index() {
System.out.println(userDao.getUser(1).getPassword());
return "Login";
}
}
问题内容: 我正在继续我的上学项目,似乎遇到了另一个错误。所以发生的事情基本上是我收到一个空指针异常,即使代码看起来很好。我相信我的阵列出了点问题,即使经过数小时的搜索,我似乎也找不到该错误。再一次,任何帮助/解决方案将不胜感激。 } 我有一个带有构造函数的学生班,并且有一个说明 但仍然出现错误。我知道要处理的代码很多,因此再次感谢任何帮助。 问题答案: 由于您的代码是当前编写的, 由于您永远不会
我在当前版本的Java8中发现了一个奇怪的行为。在我看来,下面的代码应该可以,但是JVM抛出了一个: 这并不重要,它是什么样的lambda表达式(与相同)或使用了什么泛型类型。也可以用更有意义的表达式来代替。上面的例子很短。这里有一个更丰富多彩的例子: 然而,这些代码段运行良好: 和 或与功能: 我测试了两个Java版本: openjdk版本“1.8.0_66-internal”openjdk运行
因此,我必须创建一个方法,将输入字符串分成名字/中间名/姓氏,计算创建的“学生”的数量,等等,然后我必须创建测试这些方法的类。 这是我测试代码的方式: } 当它为具有2个名称的学生测试toString时,我一直遇到空指针异常,我不知道为什么。
问题内容: 有可能这可能是一个双重问题。我将String变量初始化为null。我可能会或可能不会使用一个值更新它。现在我想检查此变量是否不等于null以及我尝试执行的操作是否会得到null指针异常。空指针异常,因为它代价高昂。是否有任何有效的解决方法.TIA 问题答案: 如果您使用 你 不会 得到。 我怀疑你在做什么: 这是因为null 而引发,而不是因为null。 如果仍然无法解释,请发布您用于
我已经更新了我的项目中的一些依赖关系之后,我的Hibernate配置类显示Nullpointerx的。 我将SpringDataJPA存储库与hibernate一起使用,已经超过24小时了,仍然没有找到任何关于小问题的适当解决方案。 我已经尝试过的一些解决方案:- 使用@bean(name=“entityManagerFactory”)提供bean名称 我面临的问题 波姆。xml文件 配置类 db
在用C进行编码练习时,我必须为指向结构()的指针分配内存,即使该结构可能已经预先为它分配了内存,否则我将得到“赋值到空指针”类型的错误。 我的假设是,如果指针要指向一个预先分配内存的结构,那么分配更多的内存将是冗余的?为了澄清,代码编译和运行都没有错误,只是搞不清楚为什么我需要分配内存来实现预期的行为。 这里有一个链接到一个要点,以了解完整的上下文。谢了!