TERASOLUNA による初期構築
概要
TERASOLUNA 使って開発しようとしたときにいつも忘れるので備忘録
TERASOLUNAって?
NTT DATAさんがつくってる spring fw のライブラリ群
ガイドラインもしっかり作ってるので参考にしてます。
terasolunaorg.github.io
mybatis の genrator-plugin とがないのでその辺はいつもの自前のものを流用
初期構築
こんな感じの bat ファイルでさくっと作成
cd %~dp0 mvn archetype:generate -DinteractiveMode=false ^ -DgroupId=sample.group ^ -DartifactId=sample ^ -Dversion=1.0.0-SNAPSHOT ^ -Dpackage=sample.package ^ -DarchetypeGroupId=org.terasoluna.gfw.blank ^ -DarchetypeArtifactId=terasoluna-gfw-multi-web-blank-mybatis3-archetype ^ -DarchetypeVersion=5.0.1.RELEASE
追加項目
pom.xml
pom.xml に spring-session追加して、kvs とかでセッション管理。
kvsが使えないときは自前で拡張したDBセッションとかで管理
<dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session</artifactId> <version>1.0.2.RELEASE</version> </dependency>
web.xml
session とか、listenerとかよしなに追加
<listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> <listener-class>org.terasoluna.gfw.web.logging.HttpSessionEventLoggingListener</listener-class> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <!-- Root ApplicationContext --> <param-value> classpath*:META-INF/spring/applicationContext.xml classpath*:META-INF/spring/spring-security.xml classpath*:META-INF/spring/spring-session.xml </param-value> </context-param> <filter> <filter-name>requestContextFilter</filter-name> <filter-class>org.springframework.web.filter.RequestContextFilter</filter-class> </filter> <filter-mapping> <filter-name>requestContextFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>springSessionRepositoryFilter</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>springSessionRepositoryFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> </filter> <filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
あとは、特に考えなくても動いてくれる。