「Spring」@Resourceアノテーションでメッセージソースを取得
構文
@Resource(name ="xxx")
protected MessageSource messageResource;
@Resource アノテーションは、クラス、メソッド、フィールドに対して指定可能なアノテーションで、リソースへの参照を宣言するためのものです。
@Resource の name 要素はリソースの JNDI 名です。
SpringFramework のデフォルトの動作としては、bean 名を対象とします。
未指定の場合は、フィールド名やメソッド名から導き出された名前を使用します。
使用例
1.Action側クラス
import org.springframework.context.MessageSource; public class UserAction { /*@Resourceによる注入*/ @Resource(name = "messageSource") protected MessageSource messageResource; protected Locale locale; public String getInfo() { /*プロパティファイルのキー「user.file.path」の取得*/ String fileUrl = messageResource.getMessage("user.file.path",null,locale) //処理コード }
2.general-context.xmlの設定
<bean id="messageSource" class ="org.springframework.context.support.ReloadableResourceBundleMessageSource"> <property name ="basename" value="classpath:message"/> </bean>
説明
idの定義:messageSource
basename:メッセージファイルの場所を指定
classpath:プロパティファイル名
3.message.propertiesの定義
user.file.path=https://192.168.xxx.xxx/all