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

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

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

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

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Spring Boot

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

Q&A

解決済

2回答

1735閲覧

userRepos.findAll()とgetUserName()が機能するようにしたい。

oosiaries

総合スコア8

Java

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

ログイン

ログインは、ユーザーがコンピューターシステムにアクセスするプロセスの事を呼びます。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

コードレビュー

コードレビューは、ソフトウェア開発の一工程で、 ソースコードの検査を行い、開発工程で見過ごされた誤りを検出する事で、 ソフトウェア品質を高めるためのものです。

Spring Boot

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

0グッド

1クリップ

投稿2020/08/21 04:44

前提・実現したいこと

SpringBootを使って簡単なログイン機能を作っているのですが、userRepos.findAll()とgetUserName()が機能しません。
この2つの原因と解決方法を教えてほしいです。

該当のソースコード

2つ目に問題のコードがあります。

package com.example.easylogin; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class EasyloginApplication { public static void main(String[] args) { SpringApplication.run(EasyloginApplication.class, args); } }
package com.example.easylogin.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.security.SecurityProperties.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.example.easylogin.model.dao.UserRepository; import com.example.easylogin.model.entity.User; @Controller public class LoginController { @Autowired UserRepository userRepos; @RequestMapping("/") @ResponseBody public String showUsers() { List<User> users = userRepos.findAll(); User user = users.get(0); String info = user.getUserName() + "" + user.getPassword(); return info; } }
package com.example.easylogin.model.dao; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.stereotype.Repository; import com.example.easylogin.model.entity.User; @Repository public interface UserRepository extends JpaRepository<User, Long> { }
package com.example.easylogin.model.entity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="user") public class User { @Id @Column(name="id") @GeneratedValue(strategy=GenerationType.IDENTITY) private long id; @Column(name="user_name") private String userName; @Column(name="password") private String password; @Column(name="full_name") private String fullName; public long getId( ) { return id; } public void setId(long id) { this.id = id; } public String getUserName() { return userName; } public void setUserName(String userName){ this.userName = userName; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getFullName() { return fullName; } public void setFullName(String fullName) { this.fullName = fullName; } }

試したこと

SpringBootのバージョンを2.2.3, 2.3.3, 2.1.16に変更して同じことをしましたが、変化はありませんでした。

補足情報(FW/ツールのバージョンなど)

初学者なので、ソースコードなどがある場合は記入してもらえると助かります。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

機能しない原因は2つ目のコードにあるimport org.springframework.boot.autoconfigure.security.SecurityProperties.User;でした。
このコードとimport com.example.easylogin.model.entity.User;がダブって使うことができないそうなので、Securityの方を消したら機能しました。回答してくださった方はありがとうございました。

投稿2020/08/22 05:33

oosiaries

総合スコア8

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Userのidの型を、UserRepositoryで継承しているJpaRepositoryの第二引数の型と統一してみてください

(検索通ってなかったらgetUserName()までたどり着かないように見えます。
問題が起こってる各メソッドについて、機能してる/してないがどういう状態を想定しているのかを記述してください)

投稿2020/08/21 08:33

ihigaku

総合スコア71

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問