【内部使用】针对被指派到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

增加画面

过程

    1. 将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 : 個人用の設定。コミットしないこと前提。

部署方式

    1. 在命令行中运行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 $が利用できる。その違いを説明しなさい。

你好世界

添加RestfulAPI

@RequestBody、@RequestParam等。

文件上传

MyBatis的引入

《Spring Boot彻底入门》第14章的示例Web系统

Servlet的挑戰

【補充】與Terasoluna的比較

bannerAds