Spring Bootを使い始めたので、それ関係の内容です。
lombok
@AllArgsConstructor
:引数を使ったコンストラクタ@NoArgsConstructor
:引数なしのコンストラクタinner classに
@Data
を付けた場合は?正しく動かない?
Maven
- pom.xmlにバージョンを記述しない場合の動きは?
- WebJars: クライアントライブラリをMavenなどで管理できるようにした仕組み
WebJars - Web Libraries in Jars
Spring
- OGNL(Object-Graph Navigation Language)式:Javaの値にアクセスするための式言語
- OGNL式で取得したURLクエリは配列形式。
${param.id[0]}
- MyBatisを使う方法
- TransactionMnager
- Spring BootでFilterを追加する方法。
FilterRegistrationBean
を使えばよいらしい。 java - How to add a filter class in Spring Boot? - Stack Overflow
その他
- Microsoft Edgeで、お絵描き(Webノート)ができる
『改訂新版 Spring入門』の読書
気になった文章
最悪なパターンは、ビジネスロジックス層に含まれる複数のクラスが
java.sql.Connection
を扱い、トランザクション管理を行うものだ。
P29 1.2.5.2章 引用
なお、MyBatisを好むのは日本だけのようで、海外のエンジニアにMyBatisを使っていると言うとたいてい驚かれる
P30 注釈 引用
1章
- Objec→Relation Mapping: オブジェクト指向分析でエンティティを抽出
- Relation→Object Mapping: システムのデータ分析をDOA(Data Oriented Approach)などで行う
ROマッピングで、かつテーブル構造が複雑であればSpring JDBCのように直接SQLを利用することも考えよう P30 1.2.6.3章
- 「偉いほうがインターフェースを持つ原則」by トム・エンゲルバーク
- 設計する上でレイヤは増やすよりも、減らす方が簡単 (1.2.6.4章)
2章
クラスからnew演算子が消えたということは開発者がFactoryMethodなどのデザインパターンを駆使しなくても、DIコンテナから受け渡されるインスタンスをインターフェースで受け取れば、インターフェースベースのコンポーネント化が実現できるわけだ。
P48 2.1.1章 引用
@Autowired
はpublic setterメソッドがなくても、インジェクションされる。@Autowired
でインジェクション可能なクラスが複数存在したら、エラーになる。@Qualifier
でクラス名を指定すれば、解決
@Component
でなく、それを拡張したアノテーション@Controller
や@Service
などを使うべき。(P60 参考)@Scope
のvalueapplicationContext.xmlの
<util:properties>
で、プロパティファイルを読み込める。
用語
「モノリシック」:ソフトウェア的には、全体が1つのモジュールでできていて、分割されていないこと
モノリシックとは - OSS用語 Weblio辞書DDD(Domain-driven Design) : ドメイン駆動設計