我目前正在使用Spring3注释和Hibernate3来实现数据库连接。我还必须使用spring Tiles。
我的spring-servlet.xml是:
<context:annotation-config />
<context:component-scan base-package="com.xxx.controller,com.xxx.dao,com.xxx.service" />
<mvc:annotation-driven />
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"
id="viewResolver">
<property name="viewClass">
<value>
org.springframework.web.servlet.view.tiles2.TilesView
</value>
</property>
</bean>
<bean class="org.springframework.web.servlet.view.tiles2.TilesConfigurer"
id="tilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/plugin/impl/tiles/springtiles-defs.xml</value>
</list>
</property>
</bean>
//Is this required????
<!-- <bean id="MyDAO" class="com.xxxx.MyDAOImpl"></bean>
<bean id="MyService" class="com.xxxx.MyServiceImpl"></bean> -->
我的控制器类:
@Controller
public class myController {
@Autowired
private MyService myService;
public myController() {
}
@RequestMapping(value="/index.do", method = RequestMethod.GET)
protected ModelAndView Submit(HttpServletRequest request, HttpServletResponse response) throws Exception {
// TODO Auto-generated method stubs
System.out.println(" Inside the controller ");
</beans>
和我的serviceImpl类:
@Service("MyService")
public class MyServiceImpl implements MyService{
@Autowired
MyDAO myDAO;
和我的DaoImpl类:
@Repository/*("myDAO")*/
public class MyDAOImpl implements MyDAO{
List<String> clientList;
@Autowired
private SessionFactory sessionFactory;
private Session session;
private Session currentSession() {
return this.sessionFactory.getCurrentSession();
}
@Override
public List<ClientInfoBean> getClientList(String currentQrt) throws DataStoreException {
// TODO Auto-generated method stub
return (List<ClientInfoBean>) this.currentSession().
createCriteria("Select * from myTable);
}
它仍然给出了以下例外情况。
org.springframework.beans.factory.BeanCreationException:创建名为“MyController”的bean时出错:注入autowired依赖项失败;嵌套异常为org.springframework.beans.factory.beanCreationException:无法自动连接字段:private com.xxx.service.myservice com.xxx.controller.mycontroller.myservice;嵌套异常为org.springframework.beans.factory.noSuchBeanDefinitionException:未找到依赖项得[com.xxx.service.myservice]类型得合格bean:需要至少一个符合此依赖项自动候选条件得bean.依赖注释:{@org.springframework.beans.factory.annotation.AutoWired(required=true)}(位于org.springframework.beans.factory.annotation.AutoWiredanNotationbeanpostprocessor.PostProcessPropertyValues(AutoWiredanNotationbeanpostprocessor.java:288)(位于org.springframework.beans.factory.support.abstractautoWirecapablebeanfactory.populateBean(
原因:org.SpringFramework.Beans.Factory.BeanCreationException:无法自动连接字段:private com.xxx.service.MyService com.xxx.Controller.MyController.MyService;嵌套异常为org.springframework.beans.factory.noSuchBeanDefinitionException:未找到依赖项得[com.xxx.service.myservice]类型得合格bean:需要至少一个符合此依赖项自动候选条件得bean.依赖项批注:{@org.springframework.beans.factory.annotation.AutoWired(required=true)}(位于org.springframework.beans.factory.annotation.AutoWiredanNotationBeanPostProcessor.java:514)(位于org.springframework.beans.factory.annotation.injectionMetadata.injection(injectionMetadata.java:87)(位于
原因:org.springframework.beans.factory.noSuchBeanDefinitionException:未找到依赖项得[com.xxx.service.myservice]类型得合格bean:需要至少一个符合此依赖项自动候选条件得bean.依赖关系批注:{@org.springframework.beans.factory.annotation.AutoWired(required=true)}(位于org.springframework.beans.factory.support.defaultlistablebeanfactory.raisenosuchbeandefinitionexception(defaultlistablebeanfactory.988)(位于org.springframework.beans.factory.support.defaultlistablebeanfactory.doResolveDependency
所以问题是您的软件包:
在com.xxx.service
和com.xxx.dao
中有服务和DAO的定义
和com.xxx.serviceimpl
和com.xxx.daoimpl
中的实现。
同时添加
您面临的下一个问题是事务性管理:
您还没有在spring配置中定义它。这是一个如何做到这一点的例子:
<!-- Hibernate 3 Annotation SessionFactory Bean definition-->
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.jdbc.batch_size">${batchSize}</prop>
</props>
</property>
</bean>
<bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory"/>
</bean>
在此之后,您需要将方法或服务实现标记为@transactional
以使spring注意这一点。
我正在使用请求有效负载中的对象数组调用API,我在@Request estBody中添加了@有效注释以检查是否有任何空属性在我的有效负载中发送。我希望我正在发送的任何空数据都应该抛出错误。但我的代码没有抛出错误 下面是我的实体课 这是我的控制器类 验证依赖项 我的请求有效负载 当我发送上述有效负载时,我希望抛出一个错误,因为我没有发送不为null的性别,但spring没有抛出任何错误。 我是否错过
我正在使用spring Roo并希望访问Controller类中的一个bean,该类在ApplicationContext.xml中具有以下配置: 配置类本身是: 在我的Controller中,我认为一个简单的Autowired注释应该可以完成这项工作 在启动过程中,spring在setSkipWeeks方法中打印消息。不幸的是,每当我在控制器中调用config.getSkipWeeks()时,它
问题内容: 我在属性文件中定义了一个属性: 然后,我有了class, 仅 当属性设置为true时, 才 应 创建一个Property Configuration bean 。 __ 这是我的课: 如果我在里面添加,只是为了进行实验并查看的值是多少,那么 确实 创建了bean , 并且我看到的值是。 如果我删除了,留下的条件作为和属性更改来自于豆,从未创建(既不也不对)。 我应该怎么做才能基于该属性
问题内容: 我有一个终结点实现,即将一个对象传递给参数列表。我正在尝试使用@NotNull批注来验证该对象是否为null。 如果该对象被验证为非null,则端点将仅返回200 OK响应。但是,当我使用指定的路径向该终结点发出请求时,体内没有任何内容时,不会引发任何错误。相反,我能够检索200响应(即使我在返回响应之前检查对象是否为null,也表明是这种情况)。 有人可以指导我如何以正确的方式验证对
当我运行以下程序时,它只打印 然而,从Java 8的equalsIgnoreCase文档中我们发现: 如果以下至少一项为真,则两个字符c1和c2被视为相同的忽略情况: •对每个字符应用java.lang.character.ToUpperCase(char)方法会产生相同的结果 所以我的问题是为什么这个程序不打印 在这两种操作中,都使用了大写字符。
我试图使用来传输我根据前面的问题设置的自定义标头。 我在文件中读到... 我的属性包括: