質問するログイン新規登録
Java

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

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Q&A

解決済

3回答

3703閲覧

Java Spring boot ゲッターセッターの命名規則について

yonchome

総合スコア41

Java

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

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

0グッド

0クリップ

投稿2020/04/15 08:49

0

0

private int age; public int getAge() { return age; }

ゲッター関数の名前をgetAgeから別のもの(例えばgetAgeaa)に変えるとエラーが発生します。
ゲッターセッターに関してはただの関数であるから、名前はなんでもよいという認識でした。

Javaのゲッターセッターには命名規則があるのでしょうか。

※一般的に
ゲッターはget[フィールド名]とするのが可読性のために"好ましい"ということは知っています。

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

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

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

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

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

m.ts10806

2020/04/15 09:07

調べてもなにも出てきませんか? また、出たエラーも提示不可能ですか?
yonchome

2020/04/15 09:29

2020-04-15 18:20:30.585 ERROR 45891 --- [nio-8080-exec-3] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/survey/form.html]")] with root cause org.springframework.expression.spel.SpelEvaluationException: EL1008E: Property or field 'age' cannot be found on object of type 'com.example.demo.controller.survey.SurveyForm' - maybe not public or not valid? というエラーがありやはりゲッターが機能していないように見えます。 このような事例は見つかりませんでした。
yonchome

2020/04/15 09:30

ゲッター関数は 'com.example.demo.controller.survey.SurveyForm.java' に書かれています
m.ts10806

2020/04/15 11:48

全体の流れが分かるコード出された方が良いかと。 とはいえ、今時ゲッターセッターを手動で作成することってあまりないと思いますけど(自動生成のライブラリがあるから)
m.ts10806

2020/04/15 11:52

ただいずれにしても「命名規則」という絶対的なキーワードが分かっているなら調べようがあるとは思うのですけど。
rubytomato

2020/04/15 15:29

エラーの原因を調べるには以下のソースコードが必要です。これらのコードを質問に追記ください。 templates/survey/form.html com.example.demo.controller.survey.SurveyForm
guest

回答3

0

これ見て勉強しよう!

こういうことかと。

文字列を引数に取り、通常のJava変数名の大文字使用法に従って変換するユーティリティ・メソッドです。

import java.beans.Introspector; import java.util.Arrays; public class xxIntro { @Test public void test() { Arrays.asList( "PropertyName", "CAPITAL", "AProperty", "aProperty", "A", "Aproperty", "" ).stream() .filter(it -> !it.isEmpty()) .forEach(it -> { System.out.println( String.format("'%s' -(decapitalize)-> '%s'", it, Introspector.decapitalize(it))); }); } } // 'PropertyName' -(decapitalize)-> 'propertyName' // 'CAPITAL' -(decapitalize)-> 'CAPITAL' // 'AProperty' -(decapitalize)-> 'AProperty' // 'aProperty' -(decapitalize)-> 'aProperty' // 'A' -(decapitalize)-> 'a' // 'Aproperty' -(decapitalize)-> 'aproperty'

投稿2020/04/16 06:58

shiketa

総合スコア4133

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

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

yonchome

2020/04/20 12:17

ご丁寧に説明していだだきありがとうございました。
guest

0

エラーログを見ると、thymeleafをお使いなので、参考URLを提示します。

4.2 変数
https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf_ja.html#%E5%A4%89%E6%95%B0

OGNLの構文については云々の記載がありますが、英語なので私が検索してわかりやすかったサイトは以下です。
http://s2container.seasar.org/2.4/ja/ognl.html

「JavaBeansのプロパティ」という言葉が出てきます。
命名規約については既に紹介されているサイトを参考にしてください。

ということで、答えは、Form?のgetterの名前を変えたらthymeleafの記述も変えないとthymeleaf側がアクセスできない、です。

投稿2020/04/16 00:52

deaf_tadashi

総合スコア200

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

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

yonchome

2020/04/20 12:17

ご丁寧に説明していだだきありがとうございました。
guest

0

ベストアンサー

JavaBeansの命名規則
これ見て勉強しよう!

投稿2020/04/15 13:50

tkanda

総合スコア2425

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

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

yonchome

2020/04/20 12:18 編集

紹介していただきありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.30%

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

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

質問する

関連した質問