当前位置: 首页 > 知识库问答 >
问题:

错误创建名为“modelaccess”的bean autowired依赖项注入失败;无法自动连接字段

澹台胜
2023-03-14

这是我的项目的结构:

SCR/主/Java/COM/公司/配置

SCR/主/Java/COM/公司/控制器

SCR/Main/Java/COM/Company/MyProject

SCR/主/Java/COM/公司/例外

在配置中,我有3个类:ProjectInitializer、ProjectConfiguration和ProjectContextListener。

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = {"com.company"})
 @EnableJpaRepositories("com.company")
public class ProjectConfiguration {

}

=============================================================================================================================

public class ProjectInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class[] { ProjectConfiguration.class };
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return null;
    }

    @Override
    protected String[] getServletMappings() {
        return new String[] { "/" };
    }

    @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        super.onStartup(servletContext);
        servletContext.addListener(new ProjectContextListener());

    }
}

====================================================================================================================

公共类ProjectContextListener实现ServletContextListener{

public void contextInitialized(ServletContextEvent servletContextEvent) {
    Security.addProvider(new BouncyCastleProvider());
    Security.addProvider(new FlexiCoreProvider());
    Security.addProvider(new FlexiECProvider());
    javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
        public boolean verify(String s, SSLSession sslSession) {
            return true;
        }
    });
}

public void contextDestroyed(ServletContextEvent servletContextEvent) {
    System.out.println("Shutting down!");
}

}

========================================================================================================================

我想连接到myproject包中的oracle数据库。它包含一些类,问题是ModelAccess类:

@Service
public class ModelAccess {
    @Autowired
    ProjectRepository jpaRepository;
    protected JpaRepository<ProjectEnt, Long> getJpaRepository() {
        return jpaRepository;
    }
}

======================================================================================================================================

@Transactional
public interface ProjectRepository extends
        JpaRepository<ProfileEnt, Long>,IProjectRepository{


}

======================================================================================================================================

@Repository
public interface IProjectRepository extends IGenericRepository<ProfileEnt> {
}

===============================================================================================================

这是我在Tomcat中部署项目时的堆栈跟踪:

创建名为“modelaccess”的bean时出错:注入autowired依赖项失败;嵌套异常为org.springframework.beans.factory.beanCreationException:无法自动连接字段:com.canpany.myproject.impl.projectrepository com.canpany.myproject.impl.modelaccess.jparepository;嵌套异常为org.springframework.beans.factory.noSuchBeanDefinitionException:未找到依赖项得[com.company.myProject.impl.ProjectRepository]类型得合格bean:需要至少一个符合此依赖项自动候选条件得bean.依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(required=true)}

==============================================================================这是我pom文件的一部分:

 <properties>
        <springframework.version>4.2.0.RELEASE</springframework.version>
    </properties>
    <dependencies>
 <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${springframework.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${springframework.version}</version>
        </dependency>

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>3.1.0</version>
        </dependency>

  <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>1.11.11.RELEASE</version>
            <!--<version>2.0.8.RELEASE</version>-->
        </dependency>


        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.3</version>
        </dependency>
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.4</version>
        </dependency>

 <dependency>
            <groupId>commons-dbcp</groupId>
            <artifactId>commons-dbcp</artifactId>
            <version>1.4</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.3.8.Final</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.3.8.Final</version>
        </dependency>

        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0</version>
        </dependency>

共有1个答案

刘弘济
2023-03-14

IProjectRepository不是Jparepository的问题。而且,看起来你不需要它。要修复它,只需删除IProjectRepository,改用ProjectRepository

 类似资料:
  • 这是我的当前设置:ProjectRepo: ProjectService: ProjectRestController:

  • 问题内容: 我正在开发一个小型Java EE Hibernate Spring应用程序,出现错误: 这是我的控制器ArticleControleur,其中包含用于恢复文章列表的功能: 这是我的articleService: 这是我的应用程序上下文: 问题答案: 该错误表明不是注册的Bean。添加其中包含将在你的应用程序上下文中自动装配的bean的软件包: 或者,如果你想将所有子包包括在com.bd

  • 我在Spring+SpringMVC+Hibernate+MySQL web应用程序中的Spring配置有一个问题。Spring无法创建我在Service类中宣布的bean。 下面是Controller类 应用程序-上下文 最后是我的StackTrace 原因:org.SpringFramework.Beans.Factory.BeanCreationException:无法自动连接字段:priv

  • 被异常卡住,下面是日志: org.springframework.beans.factory.BeanCreation异常:创建名为扬声器的bean时出错:注入自动生成的依赖项失败;嵌套异常是org.springframework.beans.factory.BeanCreation异常:无法自动连接方法:公共最终无效org.mybatis.spring.support.SqlSessionDao

  • 大家好,我收到下一个错误,我是使用Hibernate的新手

  • 我是spring工具套件的新手,我在spring上做一个项目,但我有这个错误 ` 这是用户控制器 用户服务在哪里 和用户存储库 用户的实体是 where web。xml是 还有dispatcher-servlet.xml 和applicationContext。xml是 我尝试@ComponentScan,但它不工作,我尝试添加bean类UserController,但它也不工作。 有人能帮我吗?