前提・実現したいこと
Springbootの練習で生徒の名前を検索するシステムを作っています
RepositoryクラスはCSVファイルからデータを読込、検索
ServiceクラスはRepositoryクラスから生徒番号と生徒名を受け取っています
以前は以下の検索メソッドにCSVファイルのディレクトリを直貼りしていましたが、
Repositoryクラスで作ったコンストラクタで引数を用意し、そちらにディレクトリの文字列を受け渡そうと考えています。
どのように修正すればいいでしょうか?
発生している問題・エラーメッセージ
Parameter 0 of constructor in com.example.demo.StudentRepositoryImpl required a bean of type 'java.lang.String' that could not be found.
Consider defining a bean of type 'java.lang.String' in your configuration.
該当のソースコード
java
1 2@Repository 3public class StudentRepositoryImpl implements StudentRepository { 4 private String dataName; 5 public StudentRepositoryImpl(String str) { 6 dataName = str; 7 } 8 // 検索メソッド 9 @Override 10 public Student searchNo(String studentNo) throws Exception { 11 // このメソッドでdataNameを使用 12 }
java
1ソースコード 2@Service 3public class StudentServiceImpl implements StudentService { 4 5 private final StudentRepository studentRepository; 6 7 public StudentServiceImpl(StudentRepository studentRepository) { 8 this.studentRepository = studentRepository; 9 } 10 11 @Override 12 public String findNo(String number) throws Exception { 13 try { 14 Student student = studentRepository.searchNo(number); 15 return student.getName(); 16 } 17 catch (Exception e) { 18 throw e; 19 } 20 } 21} 22
試したこと
下記のように記述しましたが、実行するとエラーが発生し、実現しません。
java
1StudentRepository studentRepository = new StudentRepositoryImpl("C:/mydata/StudentName.csv");
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。