1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Spring MVC設定覚書

Last updated at Posted at 2019-04-21

Spring DI/AOP

POMファイル

pom.xml
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-integration</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-aop</artifactId>
</dependency>

# Spring MVC ### POMファイル ```XML:pom.xml org.springframework.boot spring-boot-starter-web ```
# Spring 開発・テスト ファイル保存時にビルド&リスタートを自動するには、開発ツール(自分の場合はIntelli J)の自動ビルド設定を実施する必要がある。Dependencyの設定と併せてMavenプラグインの**_addResources_**をTrueに設定する必要がある。 ### POMファイル ```XML:pom.xml org.springframework.boot spring-boot-devtools runtime org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin true ```
# Thymeleaf 使用はPOMファイルで依存関係を設定し、プロパティファイルで有効化、キャッシュ可否などを指定する。 ### POMファイル ```XML:pom.xml org.springframework.boot spring-boot-starter-thymeleaf ``` ### application.properties ```application.properties #Thyemleafの有効・無効 spring.thymeleaf.enabled=true #キャッシュの有効・無効 spring.thymeleaf.cache=false #テンプレートの保存場所 spring.thymeleaf.prefix=classpath:/templates/ #テンプレートファイルの拡張子 spring.thymeleaf.suffix=.html ```
# Spring JPA (H2DB & Lombok利用の場合) ### POMファイル ```XML:pom.xml org.springframework.boot spring-boot-starter-data-jpa org.projectlombok lombok true com.h2database h2 runtime ``` ###application.properties ```application.properties #DB接続設定 spring.datasource.driver-class-name=org.h2.Driver spring.datasource.url=jdbc:h2:mem:testdb;MODE=MySQL spring.datasource.username=sa spring.datasource.password=
#DB設定その他(テーブル自動生成・SQL出力) spring.jpa.show-sql=true spring.jpa.generate-ddl=true spring.jpa.hibernate.ddl-auto=create ```
# Spring Session (JDBCでDB保存する場合) ### POMファイル ```XML:pom.xml org.springframework.session spring-session-core org.springframework.session spring-session-jdbc org.springframework.boot spring-boot-starter-jdbc ``` ###application.properties ```application.properties spring.session.store-type=jdbc spring.session.jdbc.initialize-schema=always ```
#Spring session そのうち追記する予定

#多言語対応
多言語化対応はプロパティを設定するだけで動作するようになる。
###application.properties

application.properties
#メッセージファイルの保存場所
spring.messages.basename=messages
#キャッシュ設定
spring.messages.cache-duration=-1
  • spring.messages.basename
    メッセージファイルの既定場所は「src/main/resources」で、指定した名称がメッセージファイルの規定名称になる。上の記載例の場合は「messages.properties」がメッセージファイル名になる。メッセージファイルをサブフォルダに配置する場合は、規定場所からのパスを記載する。下図のように「i18n/messages」と記載すると「src/main/resources/i18n」が配置場所に、「messages.properties」が規定のファイル名になる。
    image.png

  • spring.messages.cache-duration
    キャッシュ設定を「-1」にするとキャッシュが無効になる。

###参照例(Thymeleafの場合)
以下は「login.html」用のメッセージ設定例とHTML記述例。Thymeleafの場合は「th:text="#{userId}"」のように記載する。また、HTMLのlang属性に「ja」を指定したので対応するメッセージファイル名は「messages_ja.properties」になる。

messages_ja.properties
userId=ログインID
password=パスワード
login.html
<!DOCTYPE html>
<html lang="ja" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Login</title>
</head>
<body>
    <h1>Login</h1>
    <form name="LoginForm" action="/login" method="post">
        <label th:text="#{userId}">User ID</label>
        <input name="userId" type="text">
        <br/>
        <label th:text="#{password}">Password</label>
        <input name="password" type="password">
        <br/>
        <button id="login" type="submit" >login</button>
    </form>
</body>
</html>

image.png

参考

Spring Session

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?