Spring Bootプロジェクトの自動reloadテンプレートファイル
3017 ワード
最近Spring Bootを研究しています.これはいいですね.すべてはmainの方法から始まり、多くのものを統合しました.
次は私が研究したときに書いたコードです.
[url]https://github.com/zjumty/spring-boot-demo[/url]
興味のあるのは上のコードからプロジェクトを作成することができて、直接最初から自分で書くより速いです.
MyBatis、jetty、freemarkerを統合しました.
しかし、学習の過程で一つの問題を発見したのは、ftlテンプレートを変更し、ページを更新しても自動的に更新していない(私が使っているIDEA).
IDEAの典型的なウェブアプリケーションに対するサポートとは異なり、ftlの内容を変更すれば、ページをリフレッシュすることができる.
もちろんFreemarkerのプロパティtemplate_update_delayは0に設定.
Spring Bootのドキュメントでは、アプリケーション.propertiesまたはアプリケーション.ymlで次のプロパティを設定すればよいとしています.
設定しても自動的に更新できません.template_update_delayを同時に設定してもだめです.
後で気づいた:Makeが必要だ.IDEAショートカットCtrl+F 9
Spring-Bootはhotswapもサポートしています.構成する必要があります.プログラムを再起動せずに修正したコードを新しいものに置き換えることができます.
まず、POMファイルを変更します.
pluginも直して
私はjava 8を使っています.もし前のjdkが1.2.2.RELEASEを使ってもいいです.私はこの文章を書いたとき、1.2.3はまだmavenの公式ライブラリに置いていませんでした.springのライブラリからしか得られませんでした.
それからspringloaded-1.2.3.RELEASE.jarをダウンロードして、プロジェクトのlibディレクトリに置いて、名前は自分で決めます.
次にIDEAのrunパラメータにVMパラメータを次のように設定します.
-javaagent:.\lib\springloaded-1.2.3.RELEASE.jar -noverify
そして起動すればいいです.
ここではその後javaファイルを直接変更し、CTRL+F 9をコンパイルしてページをリフレッシュすればよい.
[img]http://dl2.iteye.com/upload/attachment/0107/1563/9e277edb-84b9-307f-ad68-fdd4c3984091.jpg[/img]
[img]http://dl2.iteye.com/upload/attachment/0107/1565/42b69b08-053a-3494-b5ae-67f5be58abe5.jpg[/img]
Javaファイルを直接変更、Ctrl+F 9
[img]http://dl2.iteye.com/upload/attachment/0107/1567/535c8faa-102a-3c06-8117-43d4bd3278bb.jpg[/img]
[img]http://dl2.iteye.com/upload/attachment/0107/1569/8ea6a2b3-f02b-3fea-85e6-b11e1e09c4a2.jpg[/img]
最后に言いたいのは、このHotSwap机能は时々问题が発生します.どうせ自分で决める必要はありません.私もあまりお勧めしません.
次は私が研究したときに書いたコードです.
[url]https://github.com/zjumty/spring-boot-demo[/url]
興味のあるのは上のコードからプロジェクトを作成することができて、直接最初から自分で書くより速いです.
MyBatis、jetty、freemarkerを統合しました.
しかし、学習の過程で一つの問題を発見したのは、ftlテンプレートを変更し、ページを更新しても自動的に更新していない(私が使っているIDEA).
IDEAの典型的なウェブアプリケーションに対するサポートとは異なり、ftlの内容を変更すれば、ページをリフレッシュすることができる.
もちろんFreemarkerのプロパティtemplate_update_delayは0に設定.
Spring Bootのドキュメントでは、アプリケーション.propertiesまたはアプリケーション.ymlで次のプロパティを設定すればよいとしています.
spring.freemarker.cache=false
設定しても自動的に更新できません.template_update_delayを同時に設定してもだめです.
後で気づいた:Makeが必要だ.IDEAショートカットCtrl+F 9
Spring-Bootはhotswapもサポートしています.構成する必要があります.プログラムを再起動せずに修正したコードを新しいものに置き換えることができます.
まず、POMファイルを変更します.
org.springframework
springloaded
1.2.3.RELEASE
pluginも直して
org.springframework.boot
spring-boot-maven-plugin
${spring-boot.version}
repackage
org.springframework
springloaded
1.2.3.RELEASE
私はjava 8を使っています.もし前のjdkが1.2.2.RELEASEを使ってもいいです.私はこの文章を書いたとき、1.2.3はまだmavenの公式ライブラリに置いていませんでした.springのライブラリからしか得られませんでした.
spring-release
http://repo.spring.io/release
spring-release
http://repo.spring.io/release
それからspringloaded-1.2.3.RELEASE.jarをダウンロードして、プロジェクトのlibディレクトリに置いて、名前は自分で決めます.
次にIDEAのrunパラメータにVMパラメータを次のように設定します.
-javaagent:.\lib\springloaded-1.2.3.RELEASE.jar -noverify
そして起動すればいいです.
ここではその後javaファイルを直接変更し、CTRL+F 9をコンパイルしてページをリフレッシュすればよい.
[img]http://dl2.iteye.com/upload/attachment/0107/1563/9e277edb-84b9-307f-ad68-fdd4c3984091.jpg[/img]
[img]http://dl2.iteye.com/upload/attachment/0107/1565/42b69b08-053a-3494-b5ae-67f5be58abe5.jpg[/img]
Javaファイルを直接変更、Ctrl+F 9
[img]http://dl2.iteye.com/upload/attachment/0107/1567/535c8faa-102a-3c06-8117-43d4bd3278bb.jpg[/img]
[img]http://dl2.iteye.com/upload/attachment/0107/1569/8ea6a2b3-f02b-3fea-85e6-b11e1e09c4a2.jpg[/img]
最后に言いたいのは、このHotSwap机能は时々问题が発生します.どうせ自分で决める必要はありません.私もあまりお勧めしません.