Spring boot で、 Shopping cart プログラムを試してみた。
インターネットで検索したら、
E-commerce-project-springBoot
があったので試してみたが、これが、つかいものにならんしろものだった。
Shopping cart と言っているくせに、カートに入れる処理から以降がまるっきり入っていない粗悪品じゃった。
おまけに、html の部分は、jsp で、Thymeleaf テンプレートすら使っていない。
Hibernate を使っているが、バージョンが古くて、修正するのにばかな苦労をするはめになる。
仕方がないので、Perl で作った実際に運用している自分のショッピングモールのカート部分を、インポートしてつくるはめにった。
こちらは、JdbcTemplate + SQLite3 で作ってみました。
しかし、最近は、google ai や ChatGPT を使えば、判らない java のコードをすぐ教えてくれる。
本当に便利になったもんじゃ。
ずっと以前に、Java のプログラムを書いていた頃では、すべて自分でネットを検索したり、
本で調べたりして、なかなか目的のコードを作るのに時間がかかった。いまは、本当に短時間で、やりたいコードが出来上がる。
1. おんちゃんの Tips
プログラム作成中にわかった点などを、書いてみました。
1) java String 変数の値で、クラスメソッドをコールできるか?
google で上記を検索したら、できると教えてくれた。
最終的に、インスタンス化されたオブジェクトメッソドを、String 変数の値でコールする方法も教えてくれた。
オブジェクの private 変数を参照したり、書き替えたりも、String 変数の値 でダイナミックにできた。
ありがとう google ai
2) カートに商品を入れる処理
ここでは、 一時ファイルにデータを入れていくのがかんたん。
Spring Session + Redis でカートの一時ファイルが作れるみたい。
ChatGTP で、
Spring Boot + Redis + Spring Session でショッピングカートを作る
で教えてくれる。
カートに入れる処理中は、この一時ファイルに登録して、
注文が完了した時点で、DB の注文明細情報として、移し替えて最終的に保存する。
3) Controller のメッソド で、パラメータを受けるには、1度一括で取り込むのが便利
一括で取り込んだ、spotData を表示すれば、どんなパラメータが来たのか、調べることができる。
プログラム開発の時は、これは欠かせない。
注) "go_back.x" , "go_update.x" とあるのは、 button が画像になっていて、クリックされた位置が、"go_back.x" 、 "go_back.y" で上がってくる。
クリックされなければ、上がってこない。