⚙️ 개발/Spring

Spring Boot 애플리케이션에서 @Configuration으로 설정된 클래스들은 애플리케이션이 시작될 때 자동으로 초기화되고 구성된다. 이러한 설정 클래스는 특정 웹 요청에 응답하거나 작동하는 것이 아니라 애플리케이션 전체의 설정을 정의한다.@Configuration 클래스 내에 정의된 @Bean 메소드들도 호출되어 스프링 컨텍스트 내에 빈이 생성되고 설정된다.
고가용성 및 부하분산 구성을 위해 WAS 이중화가 필요하며, 다중화된 WAS를 운영하기 위해서는 엘라스틱캐시(Redis)를 이용한 세션 클러스터링이 자주 언급된다. 세선 클러스팅을 알아보기 앞서 세션이 어떤 역할인지 먼저 알아본다. HTTP는 stateless(상태 비 저장) 프로토콜로 이전에 통신한 내용으로 다음 통신에 영향을 주지 않는다. 그저 입력에 따른 응답만 한다는 의미. 이 특징은 정적 페이지(Html, 이미지 등)에 대한 요청, 응답 시에 특징과 같다.위 정적 페이지와 달리 동적 페이지는 입력한 값에 따른 연산 또는 DB연동한 테이터 처리를 수행하며, 이런 동적 페이지를 통해 로그인, 회원가입 등의 기능을 구현한다. 이때 정적 페이지 구성 시 기존 서보와 통신한 내용을 stateful(상태 ..
Lombok에서 제공하는 어노테이션으로 finall 또는 @NotNull이 붙은 필드의 생성자를 자동으로 만들어준다.@Service@RequiredArgsConstructorpublic class MemberServiceImpl implements MemberService { private final PasswordEncoder passwordEncoder;}//생성자 방식@Servicepublic class MemberServiceImpl implements MemberService { private final PasswordEncoder passwordEncoder; public MemberServiceImpl(PasswordEncoder passwordEncoder) { ..
스프링 컨테이너에 어노테이션을 통해 빈을 등록하는 방법이 2가지이다.1. @Bean 어노테이션을 통한 빈 등록 (메소드 레벨)2. @Component 어노테이션을 통한 빈 등록 (클래스 레벨)@Repository, @Service, #Controller 등 어노테이션은 @Component이 이미 포함된다. 여기서 @Component를 통해 등록된 빈은 다른 곳에서 @Autowired를 사용해 의존성을 주입할 수 있다.@Componentpublic class A {}@Componentpublic class B { @Autowired private A a; // 컨테이너에서 A 타입의 빈을 찾아서 의존성을 주입한다. }} @Autowired를 통한 의조선 주입 방법은 3가지이다.생성자 주입,..
스프링이 제공하는 BindingResult를 이용하여 검증 오류 처리를 한다.BindingResult 파라미터는 @ModelAttribute 뒤에 와야한다.@PostMapping("/add")public String addItem(@ModelAttribute Item item, BindingResult bindingResult, RedirectAttributes redirectAttributes, Model model) { //검증 로직 if (!StringUtils.hasText(item.getItemName())) { bindingResult.addError(new FieldError("item", "itemName", item.getItemName(), false, null, nu..
원활한 유지보수를 위해 다양한 메시지는 messages.properites라는 파일을 만들어 관리한다. 해당 데이터의 key 값으로 불러서 사용하면 된다. 이때 파일명은 message가 아닌 messages이다.//messages.propertiesitem=상품item.id=상품 IDitem.itemName=상품명item.price=가격item.quantity=수량 더 나아가 나라별로 별도로 관리할 수 있다.언어를 선택할 때는  HTTP accept-language 헤더 값을 사용하거나 사용자가 선택하도록 하고, 쿠키로 처리하면 된다. 메시지 관리 기능을 사용하려면 스프링이 제공하는 MessageSource를 스프링 빈으로 등록하면 된다.이때 스프링 부트는 MessageSource를 자동으로 빈 등록해준..
지구용사
'⚙️ 개발/Spring' 카테고리의 글 목록 (3 Page)