공부 기록들/우테코

    Spring Configuration 기초 정리

    Spring Configuration 기초 정리 @Configuration과 @Bean class JavaConfigTest { @Test void javaConfig() { ApplicationContext context = new AnnotationConfigApplicationContext(HelloApplication.class); String[] beanDefinitionNames = context.getBeanDefinitionNames(); System.out.println(Arrays.toString(beanDefinitionNames)); AuthService authService = context.getBean(AuthService.class); assertThat(authService..

    Spring Auth 기초 정리

    Spring Auth 기초 정리 세션이란? 세션이란 클라이언트 별로 서버에 저장되는 정보다. 웹 클라이언트가 서버측에 요청을 보내게 되면 서버는 클라이언트를 식별하는 session id를 생성한다. 서버는 session id를 이용해서 key와 value를 이용한 저장소인 HttpSession을 생성한다. 서버는 session id를 저장하고 있는 쿠키를 생성하여 클라이언트에 전송한다. 클라이언트는 서버측에 요청을 보낼 때 session id를 가지고 있는 쿠키를 전송한다. 서버는 쿠키에 있는 session id를 이용해서 그 전 요청에서 생성한 HttpSession을 찾고 사용한다. 세션을 얻기 위해서는 request로 부터 getSession() 메서드를 호출해야 하지만, 스프링은 알아서 얻어와주기 ..

    Spring MVC Config 기초 정리

    Spring MVC Config 기초 정리 addViewControllers /** * 사용자가 "/"로 요청을 보냈을 때 hello.html이 응답되어야 함 * * WebMvcConfiguration의 addViewControllers 메서드로 설정하기 */ @Test void addViewControllers() { // when ExtractableResponse response = RestAssured .given().log().all() .when().get("/") .then().log().all().extract(); // then Assertions.assertThat(response.statusCode()).isEqualTo(HttpStatus.OK.value()); } @Configur..

    Spring CORE 기초 정리

    Spring CORE 기초 정리 @Component public class LineDao { } @Component가 붙으면 해당 클래스를 빈 등록해준다는 뜻이다. @Controller, @Service, @Repository 어노테이션 내부에는 모두 @Component를 포함하고 있다. @ComponentScan은 @Component가 붙은 클래스들을 읽어들여 빈 등록을 해준다. 보통 main 함수를 가지고 있는 클래스 위에 @SpringBootApplication를 달고있는데, 해당 어노테이션 내부에 @ComponentScan이 존재한다. 현재 디렉토리 위치에서부터 아래로 내려가면서 스캔을 하기 때문에 보통 @ComponentScan의 위치가 최상단에 존재하는 이유가 바로 이것이다. 의존관계 주입 방..

    Spring JDBC 기초 사용법 정리

    Spring JDBC 기초 사용법 정리 NamedParameterJdbcTemplate @Repository public class NamedParamDAO { private NamedParameterJdbcTemplate namedParameterJdbcTemplate; public NamedParamDAO(NamedParameterJdbcTemplate namedParameterJdbcTemplate) { this.namedParameterJdbcTemplate = namedParameterJdbcTemplate; } /** * MapSqlParameterSource * public T queryForObject(String sql, SqlParameterSource paramSource, Class..

    Spring MVC 기초 정리

    Spring MVC 기초 정리 매핑 요청 @RestController @RequestMapping("/http-method") public class HttpMethodController { @PostMapping("/users") public ResponseEntity createUser(@RequestBody User user) { Long id = 1L; return ResponseEntity.created(URI.create("/users/" + id)).build(); } @GetMapping("/users") public ResponseEntity showUser() { List users = Arrays.asList( new User("이름", "email"), new User("이름", "..

    우아한 테크코스 한 달 생활기

    우아한 테크코스 한 달 생활기 정신없이 과제를 수행하다 보니 한 달 반이나 지나있었다. 정신이 없었던 것이 아니라, 생각 없이 지내온 것이 아닐까 하는 의문이 들었다. 하루하루를 곱씹으면 시간이 잘 가지 않는다. 반면, 아무 생각 없이 지내면 하루가 쏜살같이 지나간다는 것을 살아오면서 배웠다. 괜히 지금까지의 생활을 잘 보냈는지에 대한 불안감이 생긴다. 무엇을 하며 시간을 보냈는가 미션을 진행하며 대부분의 시간을 보냈다. 페어와 함께일 때는 남는 저녁 시간에도 미션에 대해 고민했다. 페어와 깨지고 난 뒤에는 오직 오전과 낮에만 수행했다. 남은 저녁 시간에는 필독서와 미션을 진행하면서 생긴 의문점들을 찾아보고 정리했다. 나름 알차게 보낸 것 같은데 대체 어디서 불안감이 스멀스멀 올라오는 것일까? 내 생활 ..

    [모던 자바 인 액션 스터디] 8장 컬렉션 API 개선

    8. 컬렉션 API 개선 Arrays.asList() 나 List.of 나 추가를 하려고 하면 UnsupportedOperationException이 발생하게된다. Set은 Set.of 로 생성한다. Map은 다음과 같이 2가지 방법이 있다. Map ageOfFriends = Map.of("Raphael", 30, "Olivia", 25); Map ageOfFriends = Map.ofEntries(entry("Raphael", 30), entry("Olivia", 25)); 자바 8에서는 List와 Set 인터페이스에 다음과 같은 메서드를 추가했다. removeIf : 프레디케이트를 만족하는 요소를 제거한다. List나 Set을 구현하거나 그 구현을 상속받은 모든 클래스에서 이용할 수 있다. repla..