[개발] Spring boot

[Spring boot] 스프링 부트, JAVA 기초 코드 개념 정리

  • -
반응형

 

Java and Spring Annotations and Concepts

1. Spring MVC와 관련된 항목들

  • model.addAttribute:이유: 컨트롤러에서 뷰로 데이터를 전달할 때 사용됩니다. 뷰 템플릿에서 데이터를 사용하도록 추가하는 역할을 합니다.
  • 예: model.addAttribute("attributeName", attributeValue);
  • ResponseEntity:이유: HTTP 응답을 직접 제어하고자 할 때 사용됩니다. 상태 코드, 헤더, 응답 본문을 표현할 수 있습니다.
  • 예: return new ResponseEntity<>(body, HttpStatus.OK);
  • redirect:이유: 서버 측에서 리다이렉션을 수행하기 위해 사용됩니다. 클라이언트의 브라우저에 새로운 요청을 보냅니다.
  • 예: return "redirect:/home";

 

 

 

 

 

 

2. Java Collections와 Optional

  • List<>:이유: 순서가 있는 데이터의 집합을 관리하기 위해 사용됩니다. 다양한 구현체를 통해 데이터 관리의 유연성을 제공합니다.
  • 예: List<String> list = new ArrayList<>();
  • Optional<>:이유: null 값으로 인한 NullPointerException을 방지하고 명시적으로 값의 존재 여부를 표현하기 위해 사용됩니다.
  • 예: Optional<User> user = userRepository.findById(id);
  • ArrayList<>:이유: 크기가 가변적인 배열을 사용하기 위해 사용됩니다.
  • 예: ArrayList<String> list = new ArrayList<>();

 

 

 

 

 

 

3. Spring Data JPA 관련

  • Page<>:이유: 페이징 처리를 쉽게 구현하기 위해 사용됩니다.
  • 예: Page<User> users = userRepository.findAll(PageRequest.of(0, 10));
  • JpaRepository<, >:이유: 데이터베이스와 상호 작용하는 기본 CRUD 기능을 제공하기 위해 사용됩니다.
  • 예: public interface UserRepository extends JpaRepository<User, Long> {}

 

 

 

 

 

 

 

4. Authentication 및 Security 관련

  • GrantedAuthority:이유: 사용자의 권한 정보를 표현하기 위해 사용됩니다. Spring Security에서 사용자의 역할이나 권한을 나타냅니다.
  • Collection:이유: 여러 개의 요소를 그룹화하여 관리하기 위해 사용됩니다.
  • 예: Collection<String> roles = new ArrayList<>();

 

 

 

 

 

 

5. DTO (Data Transfer Object)

  • 이유: 데이터를 계층 간에 전달하기 위해 사용됩니다. 비즈니스 로직이 포함되지 않고 데이터를 담는 역할만 합니다.
  • 예: public class UserDTO { private String username; private String email; }

 

 

 

 

 

 

6. Exception 처리 및 메서드 사용

  • throw Exception / 메서드 끝 throws 예외처리:이유: 예외 상황을 호출자에게 알리고 처리하도록 하기 위해 사용됩니다.
  • 예: public void readFile(String fileName) throws IOException { throw new IOException("File not found"); }

 

 

 

 

 

 

7. JWT 및 HTTP 관련

  • HttpServletResponse:이유: HTTP 응답을 생성하고 제어하기 위해 사용됩니다. 상태 코드, 헤더 설정, 본문 데이터를 출력할 수 있습니다.
  • 예: response.setStatus(HttpServletResponse.SC_OK); response.getWriter().write("Success");
  • jwt (JSON Web Token):이유: 사용자 인증과 권한 부여를 위한 토큰 기반 인증 메커니즘을 구현하기 위해 사용됩니다.

 

 

 

 

 

 

 

8. Access Modifiers와 Interface

  • public / private / static:이유: 클래스, 메서드, 변수의 접근 수준 및 메모리 관리를 제어하기 위해 사용됩니다.
    • public: 모든 클래스에서 접근이 가능하도록 설정합니다.
    • private: 해당 클래스 내에서만 접근이 가능하도록 설정합니다.
    • static: 클래스에 속하는 정적 멤버를 정의하며, 인스턴스 없이도 접근할 수 있습니다.
  • interface:이유: 클래스가 구현해야 할 메서드 목록을 정의하고 다형성을 제공하기 위해 사용됩니다.
  • 예: public interface Animal { void sound(); }
  • extends:이유: 클래스 상속을 통해 부모 클래스의 기능을 확장하기 위해 사용됩니다.
  • 예: public class Dog extends Animal { @Override public void sound() { System.out.println("Bark"); } }
반응형
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.