본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA/Spring

(91)
Annotation - @Builder 객체를 생성할때 메서드 체인을 통해 각 필드의 값을 설정할 수 있다. builder() 메서드를 사용해 빌더객체를 얻어 메서드 체인을 통해 값을 설정해 build()를 호출해 최종객체를 생성한다. import lombok.Builder; @Builder public class Person { private String name; private int age; private String address; private String phoneNumber; } // 사용 예시 Person person = Person.builder() .name("John") .age(30) .address("123 Main St") .phoneNumber("555-1234") .build(); 필드순서를 신경쓰지않고 명시적으로..
Annotation - @NoArgsConstructor @NoArgsConstructor 매개변수가 없는 기본생성자를 자동으로 추가한다. import lombok.NoArgsConstructor; @NoArgsConstructor public class Person { private String name; private int age; // Getters and Setters } https://standout.tistory.com/492 Annotation - @EqualsAndHashCode @EqualsAndHashCode equals() 및 hashCode() 메서드를 생성 import lombok.EqualsAndHashCode; @EqualsAndHashCode public class Person { private String name; privat..
Spring MyBatis와 MyBatis 의 차이 MyBatis란 DAO 객체와 SQL문을 Mapping해주는 Persistence Framework 쉽게 sql문과 다른 언어가 한 파일에 섞여있지 않도록 따로 분리해 관리하는 것. Spring MyBatis는 Spring 프레임워크와 MyBatis를 결합한 프레임워크 코드로 직접 확인해보자. 기존 MyBatis는 아래와 같이 SqlSession, SqlSessionFactory, SqlSessionFacrotyBuilder를 연동해야 한다. import org.apache.ibatis.session.SqlSession; import org.apache.ibatis.session.SqlSessionFactory; import org.apache.ibatis.session.SqlSessionFactoryB..
Spring Framework vs Spring Boot 차이 앞서 Spring이 무엇인지 알아봤다. https://standout.tistory.com/123 Spring이란? Spring Spring Framework 스프링프레임워크라고도 불린다. 자바 웹 애플리케이션을 생성하기위한 오픈소스, 경량 프레임워크이면서 경량 컨테이너 https://spring.io/ Spring | Home Cloud Your code, any cloud—we’ve standout.tistory.com 또한 Spring Boot의 구조에 대해서도 알아봤는데, https://standout.tistory.com/458 Spring Boot 구조 src/main/java: 자바소스 src/main/resources: xml이나 프로퍼티파일 static: html같은 정적 웹리소스 tem..
Spring 버전별 특징 Spring 2.x XML 네임스페이스, AspectJ지원 https://standout.tistory.com/619 XML 네임스페이스 XML 네임스페이스 데이터를 구분하기 위한 방법 동일한 이름을 갖는 요소/속성을 서로 다은 이름으로 구분할 수 있다. XML in a Nutshell O'Reilly XML in a Nutshell Pearson XML in a Nutshell O'Reilly XML in a Nutshell Pe standout.tistory.com https://standout.tistory.com/617 AspectJ란? AspectJ 자바언어에 측면 지향 프로그래밍(Aspect-Oriented Programming, AOP)기능을 추가한 프레임워크 로깅, 트랜잭션 관리, 보안 등..
RestTemplate이란? RestTemplate RestTemplate는 RESTful 웹 서비스를 호출하기 위한 자바에서 제공하는 클래스 RestTemplate restTemplate = new RestTemplate(); String url = "https://jsonplaceholder.typicode.com/todos/1"; Todo todo = restTemplate.getForObject(url, Todo.class); https://standout.tistory.com/620 RESTful 방식이란? RESTful Representational State Transfer RESTful은 웹 서비스 아키텍처의 한 형태 웹 기술을 이용해 자원을 이름(URI)으로 식별하고 HTTP 메서드를 이용해 해당 자원을 조작하는 스..
Annotation - @RestController @RestController @Controller 어노테이션과 @ResponseBody 어노테이션을 합쳐 놓은 것 컨트롤러 클래스 내의 모든 메서드가 @ResponseBody 어노테이션을 생략하고 반환 RESTful 웹 서비스에서 JSON, XML과 같은 데이터 타입을 반환하고자 할 때 유용하게 사용 @Controller public class UserController { @Autowired private UserRepository userRepository; @GetMapping("/users/{id}") @ResponseBody public User getUser(@PathVariable Long id) { User user = userRepository.findById(id).orElseThrow..
Annotation - @RequestBody @ResponseBody @RequestBody와 @ResponseBody HTTP 요청 및 응답 처리를 담당하는 어노테이션 @RequestBody POST, PUT, PATCH 메서드와 함께 사용 HTTP 요청 본문(body)에 담긴 데이터를 자바 객체로 변환해주는 어노테이션 @PostMapping("/users") public User createUser(@RequestBody User user) { // 요청 본문에서 받아온 User 객체를 이용해 새로운 사용자 생성 로직 수행 return userRepository.save(user); } @ResponseBody 컨트롤러에서 데이터를 반환할 때 사용 메서드의 반환값을 HTTP 응답 본문으로 전송 @Controller public class UserController { ..