フィールドjdbcTemplateを自動配線できませんでした-タイプの修飾Beanがありません

クマレシュラジャン:

更新

GameDetailImageMapperにコードを追加する

package spring;

import entities.GameDetailImage;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.springframework.jdbc.core.RowMapper;


public class GameDetailImageMapper implements RowMapper
{
      public GameDetailImage mapRow(ResultSet rs,int rowNum)  throws SQLException
    {
        GameDetailImage gDetailImage = new GameDetailImage();
        System.out.println("++++++++++++"+rs.toString());
        gDetailImage.getGameDetail().setGameid( rs.getInt("game_id"));
        gDetailImage.getGameDetail().setTitle( rs.getString("title"));
        gDetailImage.getGameDetail().setDeveloper( rs.getString("developer"));
        gDetailImage.getGameDetail().setPublisher( rs.getString("publisher"));
        gDetailImage.getGameDetail().setGenre( rs.getString("genre"));
        gDetailImage.getGameDetail().setPlatform( rs.getString("platform"));
        gDetailImage.getGameDetail().setGameDescription( rs.getString("game_description"));
        gDetailImage.getGameDetail().setDistribution( rs.getString("distribution"));
        gDetailImage.getGameDetail().setReleaseDate( rs.getDate("release_date"));
        gDetailImage.getGameDetail().setCreateDate( rs.getDate("create_date"));
        gDetailImage.getGameDetail().setScore( rs.getInt("score"));
        gDetailImage.getGameImage().setBanner_link( rs.getString("banner_link"));
        gDetailImage.getGameImage().setBanner_title( rs.getString("banner_title"));
        gDetailImage.getGameImage().setHero_link( rs.getString("hero_link"));
        gDetailImage.getGameImage().setHero_title( rs.getString("hero_title"));
        gDetailImage.getGameImage().setThumbnail_link( rs.getString("thumbnail_link"));
        gDetailImage.getGameImage().setThumbnail_title( rs.getString("thumbnail_title"));
        gDetailImage.getGameImage().setContent_image_link( rs.getString("content_image_link"));
        gDetailImage.getGameImage().setContent_image_title( rs.getString("content_image_title"));
        return gDetailImage;
    }  
}

コンテキスト構成をdata.xmlファイルにポイントしたので、以下の例外が発生します。クエリがデータベースから正しいデータを返すため、なぜこれが起こっているのかわかりません。マッパーで複合オブジェクトを使用しています(2つのオブジェクトが複合に含まれています)。それが問題の原因ですか?

Stacktrace:] with root cause
 java.lang.NullPointerException
    at spring.GameDetailImageMapper.mapRow(GameDetailImageMapper.java:23)
    at spring.GameDetailImageMapper.mapRow(GameDetailImageMapper.java:17)
    at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:93)
    at org.springframework.jdbc.core.RowMapperResultSetExtractor.extractData(RowMapperResultSetExtractor.java:60)
    at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:455)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:400)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:466)

簡単な春のアプリケーションで次の例外が発生します。私がjdbcTemplateに対してスプリングインジェクションを正しく使用していないためと考えてください。私はMavenなしでスプリングを使用しているため、pom.xmlは使用していません。Tomcatで実行されています。

Could not autowire field: private org.springframework.jdbc.core.JdbcTemplate spring.GameDetailImageManagement.jdbcTemplate; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.jdbc.core.JdbcTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>redirect.jsp</welcome-file>
    </welcome-file-list>
</web-app>

data.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans 
       http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
       http://www.springframework.org/schema/aop 
       http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/tx
       http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">

       <bean name="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
            <property name="driverClassName" value="com.mysql.jdbc.Driver" />
            <property name="url" value="jdbc:mysql://localhost:3306/GameDisplay" />
            <property name="username" value= />
            <property name="password" value= />
            <property name="initialSize" value="2" />
            <property name="maxActive" value="5" />
        </bean>

       <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
           <constructor-arg type="javax.sql.DataSource"  name="dataSource" ref="dataSource"/>
       </bean>

       <context:annotation-config />


       <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
             <property name="dataSource" ref="dataSource"/>
       </bean>
       <tx:annotation-driven transaction-manager="txManager" />
       <!--Handle @Autowired-->
<context:annotation-config />
</beans>

`GameDetailImageController:

package controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.stereotype.Controller;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.beans.factory.annotation.Autowired;
import spring.GameDetailImageManagement;


@Controller
public class GameDetailImageController 
{
    @Autowired
    private GameDetailImageManagement gdm;

    @RequestMapping("/index")
     protected ModelAndView listGameDetailImages
    (HttpServletRequest request, HttpServletResponse response) throws Exception {

        ModelAndView mv = new ModelAndView("index");
        //ModelAndView mv = new ModelAndView("index", "gameDetailImages", dao.GameDetailImageDAO.getGameDetailImages());
        mv.addObject("gameDetailImages", gdm.getGameDetailImages());
        return mv;
    }
}

GameDetailImageManagement

    package spring;

    import entities.GameDetailImage;
    import java.util.List;
    import javax.sql.DataSource;
    import org.springframework.jdbc.core.JdbcTemplate;
    import org.springframework.transaction.annotation.Propagation;
    import org.springframework.transaction.annotation.Transactional;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Component;


    @Component
    public class GameDetailImageManagement 
    {
        @Autowired
        private JdbcTemplate jdbcTemplate;

        @Autowired
        public void setDataSource(DataSource dataSource) 
        {
            this.jdbcTemplate.setDataSource(dataSource);
        }


        /*public void setJdbcTemplate(JdbcTemplate template) 
        {
            this.jdbcTemplate = template;
        }*/


        public List getGameDetailImages() 
        {
            //List templist;
            //templist = jdbcTemplate.query("select * from GameDetail Inner Join GameImage on GameDetail.game_id = GameImage.game_id Order By GameDetail.create_date", new GameDetailImageMapper());
            //System.out.println("++++===++++"+templist.toString());
            return  this.jdbcTemplate.query("select * from GameDetail Inner Join GameImage on GameDetail.game_id = GameImage.game_id Order By GameDetail.create_date", new GameDetailImageMapper());
        }

    }
クマレシュラジャン:

最初に、configファイルにdata.xmlを指定していただきありがとうございます。次のステップは、マッパーを正しく使用していなかったことです。getGameDetail()とgetGameImage()を使用せずに、ゲッターとセッターを直接GameDetailImageMapperに追加しました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Spring&Maven&JUnit-BeanCreationException:フィールドを自動配線できませんでしたNoSuchBeanDefinitionException:タイプの修飾Beanがありません

分類Dev

Spring JPA(Hibernate)タイプの修飾Beanがありません:javax.persistence.EntityManagerFactory

分類Dev

NoSuchBeanDefinitionException:タイプの修飾Beanが見つかりません

分類Dev

フィールドParameterNameDiscovererを自動配線できませんでした

分類Dev

タイプorg.springframework.jdbc.core.JdbcTemplateの修飾Beanはありません

分類Dev

フィールドを自動配線できませんでしたが、定義はあります

分類Dev

Spring-boot OAuth2の実装:NoSuchBeanDefinitionException:タイプAuthenticationManagerの修飾Beanがありません

分類Dev

Spring Hadoopconfig-タイプorg.apache.hadoop.conf.Configurationの修飾Beanがありません

分類Dev

org.springframework.beans.factory.UnsatisfiedDependencyException、タイプ[edu.sample.service.ItemService]の修飾Beanがありません

分類Dev

原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:Spring5にタイプの修飾Beanがありません

分類Dev

JUnit SpringBootアプリケーション-フィールドを自動配線できませんでした

分類Dev

春は自動配線できませんでした ``タイプのBeanが複数あります

分類Dev

自動配線できませんでした。Jaxb2MarshallerタイプのBeanが複数あります

分類Dev

自動配線できませんでした。'DataSource'タイプのBeanが複数あります

分類Dev

春にフィールドを自動配線できませんでした。どうして?

分類Dev

フィールドを自動配線できませんでした(Spring mvc-アノテーション)

分類Dev

Spring Data JPA(CrudRepository)-BeanCreationException:フィールドを自動配線できませんでした

分類Dev

自動配線できませんでした。「PetService」タイプのBeanが見つかりません

分類Dev

自動配線できませんでした。SimpMessagingTemplateタイプのBeanが見つかりません

分類Dev

自動配線できませんでした。「NoteRepository」タイプのBeanが見つかりません

分類Dev

Spring Validator:自動配線できませんでした。'Validator'タイプのBeanが見つかりません

分類Dev

Spring Validator:自動配線できませんでした。'Validator'タイプのBeanが見つかりません

分類Dev

自動配線できませんでした。'AuthenticationProvider'タイプのBeanが見つかりません

分類Dev

自動配線できませんでした。'RoleMappingService'タイプのBeanが見つかりません

分類Dev

自動配線できませんでした。sessionfactoryタイプのBeanが見つかりません

分類Dev

NoSuchBeanDefinitionException:タイプ 'javax.servlet.Filter'の修飾Beanが利用できません

分類Dev

NoSuchBeanDefinitionException:タイプ 'javax.servlet.Filter'の修飾Beanが利用できません

分類Dev

@DataMongoTestが間違っています-org.springframework.beans.factory.NoSuchBeanDefinitionExceptionをスローします:タイプの修飾Beanがありません

分類Dev

@ConditionalOnPropertyを使用する場合、そのタイプの修飾Beanはありません

Related 関連記事

  1. 1

    Spring&Maven&JUnit-BeanCreationException:フィールドを自動配線できませんでしたNoSuchBeanDefinitionException:タイプの修飾Beanがありません

  2. 2

    Spring JPA(Hibernate)タイプの修飾Beanがありません:javax.persistence.EntityManagerFactory

  3. 3

    NoSuchBeanDefinitionException:タイプの修飾Beanが見つかりません

  4. 4

    フィールドParameterNameDiscovererを自動配線できませんでした

  5. 5

    タイプorg.springframework.jdbc.core.JdbcTemplateの修飾Beanはありません

  6. 6

    フィールドを自動配線できませんでしたが、定義はあります

  7. 7

    Spring-boot OAuth2の実装:NoSuchBeanDefinitionException:タイプAuthenticationManagerの修飾Beanがありません

  8. 8

    Spring Hadoopconfig-タイプorg.apache.hadoop.conf.Configurationの修飾Beanがありません

  9. 9

    org.springframework.beans.factory.UnsatisfiedDependencyException、タイプ[edu.sample.service.ItemService]の修飾Beanがありません

  10. 10

    原因:org.springframework.beans.factory.NoSuchBeanDefinitionException:Spring5にタイプの修飾Beanがありません

  11. 11

    JUnit SpringBootアプリケーション-フィールドを自動配線できませんでした

  12. 12

    春は自動配線できませんでした ``タイプのBeanが複数あります

  13. 13

    自動配線できませんでした。Jaxb2MarshallerタイプのBeanが複数あります

  14. 14

    自動配線できませんでした。'DataSource'タイプのBeanが複数あります

  15. 15

    春にフィールドを自動配線できませんでした。どうして?

  16. 16

    フィールドを自動配線できませんでした(Spring mvc-アノテーション)

  17. 17

    Spring Data JPA(CrudRepository)-BeanCreationException:フィールドを自動配線できませんでした

  18. 18

    自動配線できませんでした。「PetService」タイプのBeanが見つかりません

  19. 19

    自動配線できませんでした。SimpMessagingTemplateタイプのBeanが見つかりません

  20. 20

    自動配線できませんでした。「NoteRepository」タイプのBeanが見つかりません

  21. 21

    Spring Validator:自動配線できませんでした。'Validator'タイプのBeanが見つかりません

  22. 22

    Spring Validator:自動配線できませんでした。'Validator'タイプのBeanが見つかりません

  23. 23

    自動配線できませんでした。'AuthenticationProvider'タイプのBeanが見つかりません

  24. 24

    自動配線できませんでした。'RoleMappingService'タイプのBeanが見つかりません

  25. 25

    自動配線できませんでした。sessionfactoryタイプのBeanが見つかりません

  26. 26

    NoSuchBeanDefinitionException:タイプ 'javax.servlet.Filter'の修飾Beanが利用できません

  27. 27

    NoSuchBeanDefinitionException:タイプ 'javax.servlet.Filter'の修飾Beanが利用できません

  28. 28

    @DataMongoTestが間違っています-org.springframework.beans.factory.NoSuchBeanDefinitionExceptionをスローします:タイプの修飾Beanがありません

  29. 29

    @ConditionalOnPropertyを使用する場合、そのタイプの修飾Beanはありません

ホットタグ

アーカイブ