質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

解決済

[Spring Boot]起動時に「DAOが見つからない」エラーが出る

yosiaking
yosiaking

総合スコア10

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

3回答

0評価

0クリップ

1602閲覧

投稿2018/01/03 08:03

編集2018/01/03 08:05

お世話になります。Spring Bootの開発でつまづいてしまい、ご質問させてください。
現在、Spring BootとDomaでDB操作が可能なAPI開発の環境構築を行っております。
ウェブサイトや参考書を参考にして環境構築を行い、いざ起動を行ったところ、起動をすることができない状態です。以下のようなエラーが発生しているのですが、どうにもこうにも八方塞がりでして、アドバイスをいただけませんでしょうか。。。

Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enabled. 2018-01-03 16:34:02.107 ERROR 6106 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPLICATION FAILED TO START *************************** Description: Field testDao in com.test.controller.TestController required a bean of type 'com.test.domain.dao.TestDao' that could not be found. Action: Consider defining a bean of type 'com.test.domain.dao.TestDao' in your configuration.

作成したファイルのパッケージ構成は以下のようになっております。

src/main/java L com.test TutorialAppApplication.java L com.test.controller TestController.java L com.test.domain.dao TestDao.java L com.test.domain.entity SampleUser.java src/main/resource L application.properties

また、それぞれのファイルの中身は以下のようになっております。

TutorialAppApplication.java

Java

package com.test; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class TutorialAppApplication { public static void main(String[] args) { SpringApplication.run(TutorialAppApplication.class, args); } }

TestController.java

Java

package com.test.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.test.domain.dao.TestDao; import com.test.domain.entity.SampleUser; @Controller @RequestMapping("/test") public class TestController { @Autowired private TestDao testDao; @GetMapping("/sampleUsers") public String index() { System.out.println("test"); List<SampleUser> sampleUsers = testDao.findAll(); StringBuilder stringBuilder = new StringBuilder(); for(SampleUser sampleUser : sampleUsers) { stringBuilder.append(sampleUser.getId()) .append(":") .append(sampleUser.getName()) .append("、"); } return stringBuilder.toString(); } }

TestDao.java

Java

package com.test.domain.dao; import java.util.ArrayList; import org.seasar.doma.Dao; import org.seasar.doma.Select; import org.seasar.doma.boot.ConfigAutowireable; import com.test.domain.entity.SampleUser; @Dao @ConfigAutowireable public interface TestDao { @Select ArrayList<SampleUser> findAll(); }

SampleUser.java

Java

package com.test.domain.entity; import org.seasar.doma.Column; import org.seasar.doma.Entity; import lombok.Data; @Data @Entity public class SampleUser { @Column(name = "id") private String id; @Column(name = "name") private String name; }

**application.properties **

# DB spring.datasource.url=jdbc:oracle:thin:@localhost:1521:ORCLPDB1.localdomain spring.datasource.username=test_user spring.datasource.password=test spring.database.driverClassName=oracle.jdbc.driver.OracleDriver # DOMA doma.dialect=ORACLE doma.naming=SNAKE_LOWER_CASE

build.gradle

buildscript { ext { springBootVersion = '1.5.9.RELEASE' } repositories { mavenCentral() maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } } dependencies { classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}") } } apply plugin: 'java' apply plugin: 'eclipse-wtp' apply plugin: 'org.springframework.boot' apply plugin: 'war' group = 'com.example' version = '0.0.1-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() } configurations { providedRuntime } dependencies { compile('org.springframework.boot:spring-boot-starter-web') compile("org.springframework.boot:spring-boot-starter-thymeleaf") compileOnly('org.projectlombok:lombok') providedRuntime('org.springframework.boot:spring-boot-starter-tomcat') testCompile('org.springframework.boot:spring-boot-starter-test') compile('org.seasar.doma.boot:doma-spring-boot-starter:1.0.2') compile('org.springframework.boot:spring-boot-starter-jdbc') }

ちなみに、Javaのバージョンは【1.8】になります。
お手数をおかけしますが、アドバイスをいただけますと幸いです。
どうぞよろしくお願い致します。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Gradle

Gradleは、ビルド自動化ツールです。 ソフトウェアパッケージやドキュメント、 または実際に何か他の種類のプロジェクトの構築、テスト、公開、展開などを自動化が出来ます

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。