목록Backend/스프링부트 (41)
개발 무지렁이

Optional (null 체크 관련) 간편한 기능이 섞인 포장지 [Util.java] .ofNullable(): null이 넘어와도 NPE(Null Point Exception)를 던지지 않고 비어있는 객체를 던짐 .filter(): 원하는 조건의 값만 필터링 .map(): 값의 형태를 변경한다 .orElse(): null이 넘어오면 반환할 값 정의 public class Util { public static class file { public static String getExt(String filename) { return Optional.ofNullable(filename) .filter(f -> f.contains(".")) .map(f -> f.substring(filename.lastInde..

Date 객체와 SimpleDateFormat 객체 [Util.java] new Date(), 현재 날짜와 시간이 저장된 Date 객체 반환 원하는 포맷 패턴을 파라미터로 넘겨 SimpleDateFormat 생성자 생성 SimpleDateFormat의 format 메서드 이용 public class Util { public static class date { public static String getCurrentDateFormatted(String pattern) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern); return simpleDateFormat.format(new Date()); } } } ❓ 내부클래스를 사용하는 이유..

업로드한 파일을 웹서버에서 접근가능하도록 [WebMvcConfig.java] @Configuration public class WebMvcConfig implements WebMvcConfigurer { @Value("${custom.genFileDirPath}") private String genFileDirPath; @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/gen/**") .addResourceLocations("file:///" + genFileDirPath + "/"); } } 로그인된 회원의 프로필 이미지 노출 [HomeController.jav..

[MemberController.java] @Controller @RequestMapping("/member") @RequiredArgsConstructor public class MemberController { private final MemberService memberService; @PostMapping("/remove/image"); public String remove(Principal principal) { Member member = memberService.getMemberByUsername(principal.getName()); memberService.removeProfileImg(member); } } [MemberService.java] @Service @RequiredArgsC..

[TestInitData.java] @Configuration @Profile("test") // **중요, 이 클래스에 정의된 Bean은 test모드에서만 활성화된다. public class TestInitData { // CommandLineRunner: 앱 실행 직후 초기데이터 세팅 및 초기화에 사용된다. @Bean CommandLineRunner init(MemberService memberService, PasswordEncoder passwordEncoder) { return args -> { String password = passwordEncoder.encode("1234"); memberService.join("user1", password, "user1@test.com"); member..

MockMvc 가짜 객체를 만들어, 애플리케이션 서버에 배포하지 않고도 테스트용으로 시뮬레이션해서 스프링 MVC 동작을 재현할 수 있는 유틸리티 클래스를 말한다. (요청 및 전송, 응답기능) ResultActions 객체 결과로 ResultActions 객체를 받으며, 리턴값을 검증할 수 있는 andExpect() 메서드 제공 import static org.hamcrest.Matchers.containsString; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; import static org.springframework.test.web.servlet.result.MockMvcResultHand..