-
-
Save polotto/43e4701d54cb867031116c4e12c06f94 to your computer and use it in GitHub Desktop.
Example of using message resources in Spring Boot service layer code, in as simple way as possible (hopefully!)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.company.project.components; | |
import org.springframework.beans.factory.annotation.Autowired; | |
import org.springframework.context.MessageSource; | |
import org.springframework.context.support.MessageSourceAccessor; | |
import org.springframework.stereotype.Component; | |
import javax.annotation.PostConstruct; | |
import java.util.Locale; | |
/** | |
* Helper to simplify accessing i18n messages in code. | |
* | |
* This finds messages automatically found from src/main/resources (files named messages_*.properties) | |
* | |
* This example uses hard-coded English locale. | |
* | |
* @author Joni Karppinen | |
* @since 2015-11-02 | |
*/ | |
@Component | |
public class Messages { | |
@Autowired | |
private MessageSource messageSource; | |
private MessageSourceAccessor accessor; | |
@PostConstruct | |
private void init() { | |
accessor = new MessageSourceAccessor(messageSource, Locale.ENGLISH); | |
} | |
public String get(String code) { | |
return accessor.getMessage(code); | |
} | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
default.title = Title |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.company.project.services; | |
import com.company.project.components.Messages; | |
import org.springframework.beans.factory.annotation.Autowired; | |
@Service | |
public class SomeServiceImpl implements SomeService { | |
@Autowired | |
Messages messages; | |
// ... | |
private String getDefaultTitle() { | |
return messages.get("default.title")); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment