【内部使用】针对被指派到Spring Boot项目的人员(进行中)
以下是用于向初次分配给Spring Boot的员工进行解释的议程。
基礎知識
-
- Java8の基本構文
-
- HTML5, CSS3, JavaScript(ES5)
-
- Servlet3.1
- HTTPのGET, POST
开发环境
-
- Eclipse Pleiades 4.7
-
- Java8
-
- Spring Boot 1.5.10
-
- PostgreSQL 9.6
- superagent.js
目标
努力追求以下目标的实现。
-
- 画面の追加
-
- クライアント-サーバ間の処理の追加(Restful APIの追加)
-
- DBにアクセス(MyBatis)
-
- 各ファイルの理解
-
- MVCに対応するController, Serviceなどの理解
-
- Mavenでjarを作成し、デプロイ
-
- Mavenからライブラリの追加
-
- アクセス権限処理の追加(Spring Security)
- 設定より規約の考えの理解
图书馆的说明
春季启动
-
- 数あるSpring関係のライブラリをまとめたもの
-
- 最小構成でHelloWorldが表示できる
あらかじめログの設定など、必要な設定がなされている
流行ってきている?
MyBatis是一款Java持久化框架。
-
- O/R Mapper. iBatisのバージョンアップ版
- XMLだけでなく、アノテーションでもSQLを記述することができる
百香果
-
- テンプレートエンジン。JSPのようなもの。
-
- JSPがJSP専用のタグを指定しているのに対して、ThymeleafはThymeleaf専用の属性で指定する。
ブラウザは認識できない属性を無視するだけなので、レイアウトが崩れない?
デザイナとプログラマで分業できる
Spring BootはJSPでなくThymeleafを推奨している
Maven是什么
【特别适合超级初学者】超级初学者Maven基础入门
-
- ビルド管理ツール
pom.xmlに設定する
で外部ライブラリを利用できる。
详细的说明 (jué xì de shuō
1. 文件夹组织结构的说明
Spring和MVC
-
- Controller
-
- Service
-
- Model
- View
增加画面
过程
-
- 将HTML文件放置在src/main/static/template文件夹中
- 在Controller类中创建一个方法,该方法返回所创建的HTML文件
public ModelAndView index(ModelAndView mav) {
mav.setViewName("sample");
return mav;
}
点数
setViewNameに渡すVIEW名は拡張子不要(拡張子があっても問題ない)。JSPとThymeleafどちらでも使えるようにするためらしい。
2. 增加Restful API。
发布API
- superagentではpost, sendメソッドを使う
上传文件的POST接口
- superagentではpost, field, …メソッドを使う
休息的 API
* API的命名规则
* 区分使用GET和POST
3. 使用MyBatis访问数据库
MyBatis官方网站
XML是一种可扩展标记语言。
-
- mybatis-config.xml
-
- src/main/resources/mybatis/mapper/*.xml
-
- タグを使ってSQLを動的に生成できる
, , など
MyBatisが受け取る情報を推測するので、parameterType属性はたぶん不要。
DAO类
@Componentを付与する
sqlSessionのselectOneやselectListなどのメソッドを呼ぶ
4. 春季安全
春季安全参考
Thymeleaf + Spring Security集成基础
安全配置.java
设定以下项目等
-
- ログインしなくてもアクセスできるURL
- ロールがないと、アクセスできないURL
Thymeleaf 蒂姆叶夫
sec:authorize=”hasRole(‘ROLE_USER’)”のような記述ができる
5. 如何使用Maven
现有系统的设置
-
- Spring Boot用のpom.xml(spring-boot-starter-parent)をで指定している
利用する外部ライブラリのバージョンも定義されている。
バージョンを指定したい場合は、で指定する。
自社ライブラリの利用
JavaDocの生成
在Eclipse中进行Maven更新
当你修改了pom.xml文件后,可以通过“右键点击项目 > Maven > 更新项目”来进行更新。
生成jar文件(用于部署)
mvn installコマンドを実行すると、jarファイルがプロジェクト配下/targetフォルダに生成される。
テストコードの実行をスキップする場合は、mvn install -Dmaven.test.skip=trueを実行する。
6. 春季启动器相关
应用程序配置文件
-
- Spring Boot用の外部設定値を定義するファイル
-
- Eclipseの「Springプロパティエディタ」で開くと、キーに対して入力補完できる。
-
- javaコマンドの引数で指定することも可能。java -jar sample.jar –server.port=8081
-
- https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
- https://docs.spring.io/spring-boot/docs/current/reference/html/howto-properties-and-configuration.html
个人资料
https://area-b.com/blog/2015/01/30/2316/ :这个网站上有一篇博客文章,发布日期是2015年1月30日,题目是“2316”。
http://endok.hatenablog.com/entry/2016/06/12/181900 :在这个链接上,有一篇博客文章,发布于2016年6月12日,标题是“181900”。
https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-profiles.html :这个链接是关于Spring Boot的官方文档,提供了有关配置文件的信息。
-
- 実行環境ごとに設定値などを切り替える仕組み。
-
- Javaのクラスに対して@Profile(“test”)などで切り替えられる
-
- Thymeleafでは@environmentを使って切り替える
- https://blog.tagbangers.co.jp/ja/2015/01/18/thymeleaf-environment-properties
现有系统中的设置
既存システムでは3種類のプロファイルを定義する
local: ローカル環境で起動
test: 開発環境のサーバで起動
release: 本番環境のサーバで起動
javaコマンドの引数で–spring.profiles.active=localのようにプロファイルを指定
各プロファイルに対応したapplication.propertiesを用意している
application.properties : デフォルトの設定値。
application-test.properties : テスト環境用の設定値。
application-release.properties: 本番環境用の設定値。Swaggerなどのツールの無効化、キャッシュの有効化
application-local.properties : 個人用の設定。コミットしないこと前提。
部署方式
-
- 在命令行中运行mvn install -Dmaven.test.skip=true命令,生成一个jar文件。
生成的jar文件将会位于项目下的/target文件夹中。
通过java命令启动服务器。
有一个启动服务器的批处理文件(start.bat)。
现有项目的日志设置
-
- SLF4J(インターフェイス)とLogback(実装)の組み合わせを採用した
古いシステムだと、commons-logging(インターフェイス)とlog4j(実装)の組み合わせが多い
src/main/resources/logbakc.xml
最初から用意されているログフォーマットに、個別の設定を追記
Lombokの@Slf4jでフィールドlogを生成
実行したSQL(プリペアドの値も出力された状態)をログに出力するため、log4jdbcを採用した
https://qiita.com/YAKINIKU/items/5141c7205f3c67691c92
Cntrollerの前後でログを出力(AOP)
JUnit- 跑?比滤框
Spring的@autowired
实习任务
前提条件 tí
-
- 開発環境が整っている
-
- Spring Bootを使った既存プロジェクトに対して、機能を追加する
- Ajax通信は、superaget.jsを利用する
数据库
CREATE table user (
SERIAL user_id NOT NULL,
TEXT user_name NOT NULL,
TEXT section NOT NULL,
PRIMARY KEY (user_id)
);
增加一个Controller类
- ブラウザの開発ツールで、Request/Responseを確認すること
创建HTML文件
创建sample.html,并通过URL/sample.html显示sample.html的内容。
- メッセージファイル(message.properties)の値を参照する
创建GET API(参数为1个)。
@RequestParamで、クライアントから数値を1個受け取る。
サーバ側で、受け取った数値の2乗を計算して、クライアントに返す
创建一个GET API(传递一项信息)。
@RequestParamで、クライアントから数値を1個受け取る。
サーバ側で、受け取った数値の2乗を計算して、クライアントに返す
创建 GET API(传递多个信息)。
-
- Beanクラスを作成して、そのクラスで複数の情報を受け取る。
- サーバ側で、受け取った情報に何らかの処理を行い、クライアントに返す
创建一个POST API.
-
- POST APIを作成する。
複数の情報を受け取る
受け取った情報に対して何らかの処理を行い、クライアントに返す
JavaScriptで作成したAPIを呼び出す
レスポンスの内容を画面に表示する
创建POST API(文件上传功能)
-
- POST APIを作成する
1個のファイルと、1個の文字列を受け取る
受け取ったファイルを保存する
JavaScriptで作成したAPIを呼び出す
对数据库的访问
-
- DAOクラスにメソッドを追加
- Controllerクラス内のメソッドから、DAOクラスのメソッドを呼び出す
用user_id进行SELECT查询
-
- DAOクラスにメソッドを作成する
user_idで絞り込んだ結果を取得するメソッド
使用者名称或部门上使用SELECT语句。
, を使って、WHERE句を記述
SQLに渡す情報がnullならば、絞り込まないこと
向用户表中插入数据。
, を使って、WHERE句を記述
SQLに渡す情報がnullならば、絞り込まないこと
用一条SELECT语句将信息存储到层次结构的类中。
を使って、SQL文を記述
Maven , 梅雯)
修改pom.xml文件,使用外部库。
-
- Mavenローカルリポジトリを確認
- Eclipseのプロジェクトプロパティで確認
生成一个jar文件,并使用java命令启动服务器。
-
- Eclipseを使わずに、mvnコマンドでjarファイルを生成
-
- javaコマンドの引数でポート番号を指定
- プロファイルを変更して、設定値などが切り替わることを確認
查看日志
- logback.xmlでログレベルを変更して、ログの出力される/されないを確認
文章的问题 de
超文本传输协议
-
- HTTPのGETとPOSTの違いを説明しなさい。
- -リクエスト/レスポンスのヘッダとボディ
数据库 (databases)
-
- O/R Mapperの特徴を、メリット,デメリットをふまえて説明しなさい
- Javaから情報を受け取るには、# or $が利用できる。その違いを説明しなさい。