ろーどおぶざSpring
アノテーション | 使うところ | 参考サイト |
---|---|---|
@ControllerAdvice | コントローラーの、オブジェクトバインディングや、エラーハンドリングに特化したアドバイスを作成する | アドバイスの作成3 - @ControllerAdvice · 独習Spring |
@Component | コンポーネントスキャンの対象にする。@Controller、@Service、@Ripositoryいずれでもない場合に使う。 | |
@ModelAttribute | パラメータや返却オブジェクトをModelに格納してくれる | |
@PathVariable | URL内のパス変数の値を取得してくれる | |
@GetMapping | @RequestMapping(method = RequestMethod.GET) のショートカット | GetMapping (Spring Framework 5.3.3 API) - Javadoc |
- EclipseでMavenのプロジェクトにSpringを設定する - ponsuke_tarou’s blog
- SpringプロジェクトにSpring MVCを設定する。 - ponsuke_tarou’s blog
- Java - [thymeleaf]spanタグ等で囲まないとテキストが表示できない?(2558)|teratail
- 画面からControllerに到達できない理由
- 可能性1 : @RequestMappingに書いてあるパスと大文字小文字が違う
- 可能性2 : @RequestMappingの
params
に必須パラメータ以外を設定している && リクエストで必須パラメータしか設定していない
- APPLICATION FAILED TO START - Qiita
はじめてのGradle
- EclipseにGradleプロジェクトをインポートする - Qiita
- The STS Gradle plugin is under minimal maintenance and may be discontinued in the future. - Qiita
- Could not create an instance of Tooling API implementation using the specified Gradle distribution - Qiita
ふわっとリフレクション
- Java:クラスの全フィールドの名前と値の一覧を出力する方法
- Class (Java Platform SE 7 )
- リフレクション ~ オブジェクトに関連する Class オブジェクトの取得 - Java 入門
- JavaでPropertyDescriptorを使ってBeanのプロパティに簡単にアクセスする
- オブジェクトのクラスを動的に判定するには (instanceof) | 型とクラス | プログラミング言語の比較 | hydroculのメモ
Thymeleaf
- Thymeleaf
- Thymeleafでjava.util.Map<String,Object>の内容を繰り返し表示する - Qiita
- ThymeleafでJavaScriptのちょっとした注意点をメモ - Mitsuyuki.Shiiba
あのてーしょん
Jacksonのアノテーション | 意味 | 参考サイト |
---|---|---|
@JsonProperty("{JSONでのキー名}") | プロパティとJSONでのキー名が違っても紐づける | FasterXML/jackson-annotations: Core annotations (annotations that only depend on jackson-core) for Jackson data processor |
@JsonInclude(JsonInclude.Include.NON_NULL) | 値がnullだったらJsonにキー名も含めて出力しない | |
@JsonPropertyOrder({"キー名1","キー名2"...}) | 出力順序を指定する | |
@JsonIgnore | Jsonとして出力しない | Jackson が変換・出力対象とするもの - Qiita |
@JsonAnyGetter | Map型のプロパティをフラットに並べる | Java : Jackson : ちょっと特殊なケースにおけるJSONシリアライズ/デシリアライズ|TECHSCORE BLOG |
@JsonAnySetter | 存在しないプロパティをMapに設定できる | jacksonで正体不明のJSONを読み込む - Qiita |
テストしたい
Mockito
JMeter
- JMeter ブラウザの動きを記憶させる(HTTPリクエスト) | MISLEAD
- JMeter 基礎編 設定から動作完了まで | MISLEAD
- Java - JMeterで動的にパラメータを渡したい(5175)|teratail
- JMeterを使ってみた記録 - ponsuke_tarou’s blog
JUnit : 単体テストのお供に
- 2. テストクラス (2) | TECHSCORE(テックスコア)
- Eclipse + Quick JUnit Plugin ショートカット一覧メモ (Windows) — Eclipse Cheat Sheet 0.1 documentation
- Eclipse + Quick JUnit Plugin ショートカット一覧メモ (Mac) — Eclipse Cheat Sheet 0.1 documentation
- JUnitのTheoryテストについて — recompile.net
- JUnitでprivateメソッドをテストする方法 - Qiita
- JUnitで引数に配列や可変長引数をとるprivateメソッドをテストする方法 - Qiita
- Java/JUnit/"test"接頭辞無しの"@Test"メソッドが認識されない - Glamenv-Septzen.net
- JUnit4 の Enclosed を使ったテストクラスサンプル
JProfiler : メモリリーク対策に添えて
- ej-technologies - Java APM, Java Profiler, Java Installer Builder
- ej-technologies - 評価版ダウンロード: エクセルソフト
- Confluence
- JProfilerスタート ガイド
処理時間を計測したい
System.currentTimeMillis();
System.nanoTime();
- 処理時間の計測 - Qiita
- ナノ秒単位での時間計測 - Qiita
- Javaパフォーマンス計測 そんなタイマーで大丈夫か? - プログラマーの脳みそ
- チューニングに使えるJava性能監視ツール | Think IT(シンクイット)
- Java それぞれ書き方でどれほどパフォーマンスが違うのか?計測比較してみた。Streamとループとか - Qiita
きれいなソースを書きたい
- 株式会社電通国際情報サービス版 Javaコーディング規約2004
- Java セキュアコーディングスタンダード CERT/Oracle 版
- Java コーディング標準 - オブジェクト倶楽部
- Java コーディング規約 - Acroquest Technology株式会社
jarの使い方
jarのファイルを抽出する
$ jar xvf {jarとかwarファイル} {jarとかwarファイル内でのファイルパス}
アクセサ
CSVにまつわるエトセトラ
インストールしたりバージョンを切り替えたりしたい
- Javaのインストールディレクトリがわからなくなった時の探し方 - Qiita
- Postmanをインストールする - Qiita
- 初めてPostmanを使ってみた記録 - ponsuke_tarou’s blog
- zipでJavaをインストールする - Qiita
- MacでJavaのバージョンを切り替える方法 - Qiita
- MacでインストールされているJavaを確認する方法 - Qiita
- Homebrewでjavaをインストールする方法 - Qiita
ファイルを読み込みたい
- 【Java】テキストファイル全体を読み込み文字列を返すメソッド - Qiita
- テキストファイルを読む - テキストファイルの入出力 - Java入門
- Java でファイルの中身を読み込む方法 (Java SE 7 版) - ひだまりソケットは壊れない
Mavenが難しいです
- Mavenをインストールする - Qiita
- mavenプロジェクトでjarを追加する - Qiita
- EclipseでMavenを導入して、ライブラリを使用する方法 | Yuuの悠々自適Blog
-
Maven Repository: Search/Browse/Explore
- groupId, artifactId, version に指定する値がわかる
- Mavenが使っているJavaのバージョンを確認する方法 - Qiita
- JAR Search - findJAR.com : パッケージとクラス名からjarを探すのに便利
困った
- Could not transfer artifact xx:xx:pom:x.x from/to local (file:/path/to/../repo): /home/path/.m2/repository/xx/xx/x.x/xx-x.x.pom.part.lock (Permission denied)
- Test source folder 'src/test/java' in project 'プロジェクト' must have an output folder that is not also used for main sources
- プロジェクトをMavenでビルドできない時の対応方法 - Qiita
- pom.xmlに定義されていないjarでMissing artifact - Qiita
- java.lang.ClassNotFoundException - Qiita
- Project build error: Non-resolvable parent POM for - Qiita
型の使い方を教えて欲しい
ログの出力先がわからなかった時
正規表現を使いたい
サーバを使おうと思った
JSF
JSFがさっぱりうまくいかないときに役立ちたいリンク集 - Qiita
データベースも使うよね
IDE(統合開発環境)
何だろう?コレって・・・ってなったら。
- Javaのソースで見つけた CHECKSTYLE:OFF って何?から知るCheckstyle - Qiita
- Javaのソースで見つけた ...(点3つ) って何?から知る可変長引数 - Qiita
- クライアントサーバの3階層システムの基本 - ponsuke_tarou’s blog
- JPAって何? - ponsuke_tarou’s blog
- WebLogic Serverって何?
- Shortの比較でNullPointerExceptionになって知ったオートボクシング - Qiita
脆弱性
Spring4Shell
Unfortunately, changes to the Class object in Java 9 meant the checks Spring performed were no longer enough.
...省略...
This code attempts to restrict access from overriding these object graph paths:
- Class.getClassLoader() -> ClassLoader
- Class.getProtectionDomain() -> ProtectionDomain
However, because the Class object now exposes a getModule() method, attackers can now take this slightly different path:- Class.getModule() -> Module -> Module.getClassLoader()
New Spring4Shell Zero-Day Vulnerability Confirmed: What it is and how to be prepared
困った
- Antを実行してJRE version less than 1.8 is not supported. - Qiita
- プロジェクト・ファセットのバージョンを 動的 Web モジュール からx.xに変更できません。 - Qiita
- Checkstyle execution failed due to an internal error. - Qiita
- Could not find tools.jar in the active JRE. - Qiita
- java.security.InvalidKeyException: Illegal key size or default parameters - Qiita
- OAauth2を使ったAPIでエラーになる - Qiita
- Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion' has value '1.8', but '1.7' is required. - Qiita
- Unsatisfied dependency expressed through field - Qiita
- InvalidDefinitionException: No serializer found for class - Qiita
- APPLICATION FAILED TO START - Qiita