gpt4 book ai didi

java - 在基于java的spring配置中创建applicationContext bean

转载 作者:太空宇宙 更新时间:2023-11-04 13:59:36 25 4
gpt4 key购买 nike

我正在尝试使用 Java 配置从头开始构建基于 spring 的应用程序,但我收到了我完全不明白的警告...有人能告诉我哪里出了问题吗?

错误:警告:上下文初始化期间遇到异常 - 取消刷新尝试org.springframework.beans.factory.BeanCreationException:创建名为“applicationContext”的bean时出错:bean实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.context.ApplicationContext]:指定的类是一个接口(interface)

应用程序初始值设定项:

public class SpringWebAppInitializer  implements WebApplicationInitializer {

@Override
public void onStartup(ServletContext servletContext) throws ServletException {

AnnotationConfigWebApplicationContext appContext = new AnnotationConfigWebApplicationContext();
appContext.register(ApplicationContext.class);

ServletRegistration.Dynamic dispatcher = servletContext.addServlet("SpringDispatcher", new DispatcherServlet(appContext));
dispatcher.setLoadOnStartup(1);
dispatcher.addMapping("/");

servletContext.addListener(new ContextLoaderListener(appContext));
}
}

应用程序上下文配置:

@Configuration
@ComponentScan("pl.wybornie.entity.*")
@EnableTransactionManagement
public class ApplicationContextConfig {

@Bean(name = "viewResolver")
public InternalResourceViewResolver getViewResolver() {

InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setPrefix("/WEB-INF/pages/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}

@Bean(name = "dataSource")
public DataSource getDataSource() {
BasicDataSource dataSource = new BasicDataSource();
dataSource.setDriverClassName("com.mysql.jdbc.Driver");
dataSource.setUrl("jdbc:mysql://localhost:3306/wyborniedb");
dataSource.setUsername("root");
dataSource.setPassword("root123");

return dataSource;
}

@Autowired
@Bean(name = "sessionFactory")
public SessionFactory getSessionFactory(DataSource dataSource) {

LocalSessionFactoryBuilder sessionBuilder = new LocalSessionFactoryBuilder(dataSource);

//sessionBuilder.addAnnotatedClasses(User.class);
sessionBuilder.scanPackages("pl.wybornie.entity", "pl.wybornie.entity.cookBook");

return sessionBuilder.buildSessionFactory();
}

@Autowired
@Bean(name = "transactionManager")
public HibernateTransactionManager getTransactionManager(SessionFactory sessionFactory) {

HibernateTransactionManager transactionManager = new HibernateTransactionManager(sessionFactory);
return transactionManager;
}
}

这些只是整个项目的 2 个配置类。

完整代码可以在以下位置找到: https://github.com/annweg/wybornie.pl/tree/new_build/project_workspace/wybornie

我对 Spring 很陌生,也许缺少一些配置...我正在使用 Spring 4.1.6、Tomcat 7 和 Java 7。

编辑:我尝试从 Spring 注册 ApplicationContext 和我自己的配置类 - ApplicationContextConfig - 错误是相同的。我已经删除了 Tomcat 服务器并创建了新的服务器,重新打开了 Eclipse,但情况仍然如此。将项目导入为新项目(删除所有设置和 .project 文件)没有帮助,所以错误可能是在配置中的某个地方......?

最佳答案

问题出在我的 Eclipse 设置上。我删除了所有项目内容,更改工作区,然后复制/粘贴所有类和库,错误就消失了。

关于java - 在基于java的spring配置中创建applicationContext bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29440240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com