【发布时间】:2014-06-18 12:12:27
【问题描述】:
这是我的代码
public class AddressbookUI extends UI {
@Autowired
private AddressService addressService;
.....在我的方法中
Contact contact=new Contact();
contact.setName("Test");
contact.setCity("Colombo");
addressService.addContact(contact);
这是我的服务类
@Service
@Repository
public class AddressServiceImpl implements AddressService {
private SessionFactory sessionFactory;
@Transactional
public void addContact(Contact contact) {
sessionFactory.getCurrentSession().saveOrUpdate(contact);
}
}
这是我的 spring 上下文 xml
<import resource="databaseContext.xml" />
<context:annotation-config />
<context:component-scan base-package="com.priyan.vaadin" />
<context:spring-configured />
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />
<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" />
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="packagesToScan" value="com.priyan.vaadin" />
<property name="dataSource" ref="dataSource"></property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>
<prop key="hibernate.show_sql">true</prop>
</props>
</property>
</bean>
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<tx:annotation-driven transaction-manager="transactionManager" />
<bean id="propertyPlaceholderConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:jdbc.properties</value>
</property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"></property>
<property name="url" value="${jdbc.url}"></property>
<property name="username" value="${jdbc.username}"></property>
<property name="password" value="${jdbc.password}"></property>
</bean>
这是我的 web.xml
<context-param>
<description>Vaadin production mode</description>
<param-name>productionMode</param-name>
<param-value>true</param-value>
</context-param>
<servlet>
<servlet-name>Vaadin</servlet-name>
<servlet-class>com.vaadin.server.VaadinServlet</servlet-class>
<init-param>
<description>Vaadin UI to display</description>
<param-name>UI</param-name>
<param-value>com.priyan.vaadin.AddressbookUI</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>Vaadin</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/applicationContext.xml</param-value>
</context-param>
所有其他的东西都很好。页面也很好加载。 但是当我按下保存按钮时,它会出现在该行并在服务调用点返回 null
请帮我解决这个问题
谢谢大家
【问题讨论】:
-
将 AddressbookUI 标记为
@Component -
是
AddressbookUI@Configurable? -
@NikhilTalreja : 亲爱的朋友感谢您的评论。我会尝试您的建议并让您知道
-
@AndreiStefan : 亲爱的朋友也感谢您的评论。我尝试使用@configurable。但我放入了服务类。UI 类可以添加@Configurable。?我会检查并告诉你
-
@NikhilTalreja : 还是一样的错误