본문 바로가기

스프링5

스프링 국제화(Internationalization, I18N) 스프링 웹 MVC는 국제화를 단순화하도록 지원해 준다. 국제화를 위해서는 LocaleResolver, MessageSource, LocaleChangeInterceptor의 빈 등록이 필요하다. LocaleResolver는 사용자의 로케일을 얻는다. AcceptHeaderLocaleResolver - 요청의 Accept-Language 헤더 상의 로케일을 반환한다. SessionLocaleResolver - 세션에 저장된 로케일을 반환한다. FixedLocaleResolver - 고정된 기본 로케일을 반환한다. MessageSource는 현재 로케일에 맞는 메시지를 가져온다. ResourceBundleMessageSource - 특정 빈 이름으로 자원 번들에 접근하는 MessageSource 구현체 Re.. 2024. 4. 2.
스프링 프로젝트에서 service 인터페이스나 serviceImpl 클래스를 사용하는 이유와 사용해야 하는지 여부 Do I need an interface with Spring boot? In this blog post, we discover whether we have to use an interface when writing services with Spring boot. dimitri.codes 항상 서비스 인터페이스와 구체 클래스를 만들어 다른 클래스에 주입해야 한다고 묻는다면, 답은 X이다. 서비스 클래스를 교체해야 하는 경우가 아니라면 굳이 서비스 인터페이스를 만들어서 사용할 필요가 없다. 과거에는 스프링이 JDK Dynamic proxy를 사용해서 프록시를 생성하려면 인터페이스가 필요했지만 최근 버전의 스프링 프레임워크들은 CGLIB 프록시를 지원하고 권장하기 때문에 인터페이스가 필요하지 않다. 이런 이.. 2022. 11. 26.
스프링 프레임워크를 사용하는 이유 필자는 회사에서 스프링 프레임워크를 사용해서 웹 개발을 하고 있다. 그러다 문득 든 생각이 "스프링으로만 개발하고 있는 나는 자바 개발자가 맞는가'였다. 그래서 스프링 이전에는 무엇이 있었는지, 어떻게 해서 스프링이 나오게 되었는지에 대해 생각해보고 또 조사해보았다. 저번에는 Java EE에서 스프링 프레임워크로 넘어가는 과정에 대해 이야기해봤고, 이번에는 스프링 프레임워크를 사용하는 이유에 대해 좀 더 알아보려고 한다. 우선, 프레임워크를 사용하는 이유부터 간단히 살펴보자. 프레임워크를 이용한 개발은 이름에서 알 수 있듯이 소프트웨어의 '뼈대'가 되는 부분은 미리 만들어놓고 필요한 부분들을 추가하거나 수정해서 사용하는 개발 방식이다. 그러다 보니 개발 기간이 단축되고, 오류가 적어지며, Java EE만.. 2022. 5. 30.
[20210809] log4j 소스 log4j, log4jdbc는 스프링 프로젝트의 로그 내역을 보여주는 도구인데, 이를 사용하기 위해서는 메이븐 프로젝트에 디펜던시(의존성) 추가가 필요하다. pom.xml 1.8 4.3.30.RELEASE 1.5.4 1.6.6 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4 1.16 org.slf4j slf4j-api ${org.slf4j-version} org.slf4j jcl-over-slf4j ${org.slf4j-version} runtime org.slf4j slf4j-log4j12 ${org.slf4j-version} runtime log4j 설정을 위한 설정 파일(log4j.xml) 프로퍼티 파일(log4jdbc.log4j2.properties) log4j.. 2021. 8. 9.
728x90