每次尝试将数据插入数据库时,都会出现NPE(空指针异常)。帮我解决这个问题。我已经导入了Spring所需的所有必要库。这是我的applicationcontext.xml文件,我在其中配置了所有bean。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<bean id="personService" class="com.ecommerce.assignment.service.PersonService">
<property name="personDAO" ref="personDAO" />
</bean>
<bean id="personBean" class="com.ecommerce.assignment.bean.PersonBean" />
<bean id="personDAO" class="com.ecommerce.assignment.dao.PersonDAO" />
</beans>
public interface IPersonDAO {
public void addPerson(Person instance);
}
public class PersonDAO implements IPersonDAO {
@Override
public void addPerson(Person instance) {
Session session = HibernateUtil.getSessionFactory().openSession();
session.beginTransaction().begin();
session.saveOrUpdate(instance);
session.getTransaction().commit();
session.close();
}
}
这是接口PersonService。公共接口IPersonService{public void addPerson(Person实例);}
public class PersonService implements IPersonService,Serializable {
private IPersonDAO personDAO;
public IPersonDAO getPersonDAO() {
return personDAO;
}
public void setPersonDAO(IPersonDAO personDAO) {
this.personDAO = personDAO;
}
@Override
public void addPerson(Person instance) {
getPersonDAO().addPerson(instance);
}
}
public class PersonBean implements Serializable {
private static final long serialVersionUID = 1L;
private String emailAddress;
private String password;
private String username;
@ManagedProperty(value = "#{personService}")
private IPersonService iPersonService;
public void addPerson(){
try{
Person person = new Person();
person.setUsername(getUsername());
person.setEmailAddress(getEmailAddress());
person.setPassword(getPassword());
iPersonService.addPerson(person);
}
catch(Exception ex){
ex.printStackTrace();
}
}
}
由于您的person bean是由Spring管理的,所以您应该使用@autowired
注释来进行依赖注入,或者通过XML进行注入,就像您对PersonService
所做的那样。您也可以将bean声明为@component
和@scope
。
错误在于使用JSF的@managedproperty
注释在bean中注入服务,该注释仅在JSF上下文中工作,即使用JSF托管bean,使用@managedbean
注释或通过XML声明。
我整天都在尝试运行JSF应用程序的JMeter测试。我知道,但这似乎是一个非常简单的问题。我准备了正则表达式提取器: 以下采样器是用代理和记录创建的。 第一个请求。这是将从中提取ViewState的请求。 请求其中<代码>${jsfviewstee}被传递到 第二个请求在本例中非常重要。 结果是: 首先。在右边我们可以看到ViewState的值。 ,它显示jsfViewState值是正确的。我们可
我的应用程序中的查询有问题。这是执行查询的查询方法: 这是错误: 在我发现的痕迹中: 原因:java。lang.IllegalArgumentException:在EntityManager中创建查询时发生异常:异常描述:语法错误解析[SELECT*FROM PRODUCT WHERE CATEGORY='Humano'。[22,22]select语句必须有FROM子句。[7,7]算术表达式中缺少
主要内容:1)创建用户界面,2)创建托管Bean,3)配置应用程序要创建一个JSF应用程序,我们在这里使用NetBeans IDE 8.2。 当然您也可以使用其他Java IDE。 在这里先创建一个项目,之后我们将运行测试它的配置设置。 所以,让我们首先来创建一个新的项目。 步骤1:创建一个新项目 打开NetBeans IDE 8.2,转到【文件】菜单并选择【新建项目】。如下图所示 - 选择类别为【Java Web】和项目为【Web应用程序】。如下图所示 - 输
我目前正在尝试制作一个网页,但我不知道为什么我的html不能看到提供的css文件。我在SpringBoot有一个应用程序。我有以下文件:索引。html 风格css
根据log4j和log4j2留档,使用tld和jsp页面可以很好地工作。 http://logging.apache.org/log4j/2.x/manual/webapp.html http://logging.apache.org/log4j/2.x/log4j-taglib/tagreference.html#log.tld 它可以与xmlns一起使用:log=”http://logging
我有一个简单的facelets页面: Foobar bean如下所示: -将有效的输入值推送到模型(如果组件连接到bean属性)。 -执行操作和操作侦听器(如果组件是操作)。 所以在这里,应该执行myCommandButton,不是吗?而组件的执行意味着要执行它的操作?