Struts2におけるDependency Injection
Struts2では、Springプラグインを使わなくても、「DIっぽいこと」ができます。
struts2のソースを"@Inject"でGrepすると参考ソースがわらわらと出てきます。
型によるインジェクション
設定によるインジェクション
org.apache.struts2.components.template.TemplateEngineManager
public static final String DEFAULT_TEMPLATE_TYPE_CONFIG_KEY \ = "struts.ui.templateSuffix"; : @Inject(DEFAULT_TEMPLATE_TYPE_CONFIG_KEY) public void setDefaultTemplateType(String type) { this.defaultTemplateType = type; } :
"struts.ui.templateSuffix"は、default.propertiesで定義されています。
struts.ui.templateSuffix=ftl
このように、設定を外部に記述し、依存性を注入することが出来ます。