MessageResourceでの「'」

<移行分>
Springframeworkというか、ResourceBundleのお約束事なのかな。
MessageResourceを扱うとき、メッセージの定義が

argument.required=the argument '{0}' is required

であるとして、{0}に hoge を当てはめるつもりで以下のようなコードを書くと怒られる。

    private ApplicationContext context;
    
    @Test
    public void testMessageResource() {
        assertEquals("the argument 'hoge' is required", 
                    context.getMessage("argument.required", new Object[]{"hoge"}, "Required", null));
    }

ちなみに、getMessage()の戻りは "the argument {0} is required"。どうも「'」でくくると、くくった部分は置換対象にならないらしい({}がエスケープされる?)。getMessage()の戻りで「'」を出力したい場合は「'」を二つ続けてつづること。

argument.required=the argument ''{0}'' is required

これで上記のテストコードで怒られない状態になる。