Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

밤빵's 개발일지

[TIL]20240704 @어노테이션 본문

개발Article

[TIL]20240704 @어노테이션

최밤빵 2024. 7. 4. 22:51

오늘은 주특기 주차 테스트 시험을 본 날... 

10시부터 2시까지 진행 된 시험은 3분을 남겨두고 애매하게 나왔다.

빌드가 되지않아서 애플리케이션 실행도 안되니까 이게 되는 코드인지 안되는 코드인지도 알 수 가없고,

시험문제는 풀어야하는데 빌드에러도 잡아야하고 멘탈이 다 갈려서 오늘 하루 무슨 공부를 했는지도 모르겠다 .

[오늘 정리 내용]

 

▶ throw의 기능 

 

▷ 예외를 호출자에게 전달 : 

→ 메서드내에서 예외가 발생할 수 있으며, 이 예외를 메서드 내에서 처리하지 않고 호출한 메서드로 전달하려는 경우 

"throw" 사용 

→ 예외를 명시함으로써, 메서드를 사용하는 개발자가 이 메서드를 호출할 때 해당 예외를 처리해야 한다는 걸 알수있다. 

 

▷ 예외 명시 

→ "throw"를 사용하여 메서드가 발생시킬 수 있는 예외를 명시적으로 선언할 수 가 있다.

→ 코드의 가독성을 높이고, 코드 사용자가 메서드가 어떤 예외를 발생시킬 수 있는지 미리 알수있게 한다. 

 

▷ 정리 

→ throw : 메서드가 특정 예외를 던질 수 있음을 선언 하는데 사용 .

→ 예외 전파 : 메서드 내에서 예외를 처리하지않고 호출한 메서드로 예외를 전달

→ 가독성 향상 : 코드 사용자가 메서드가 어떤 예외를 발생 시킬 수 있는지 알 수 있게 한다. 

 

▶ Jackson

→ java용 JSON처리 라이브러리. 데이터 교환 형식으로 사용되며 JSON 데이터를 java객체로 변환하거나 java객체를 JSON으로 변환하는데 사용.

java 객체를 JSON으로 직렬화 (Serialization)

JSON을 java 객체로 역직렬화 (Deserialization)

JSON 데이터 처리 및 변환 

 

 

[@anotation 정리] 

 

@RequestBody : HTTP요청의 본문을 자바 객체로 변환해주는 역할. 클라이언트가 서버로 JSON,XML등의 데이터로 전송할 때 주로 사용. 이 어노테이션을 사용하면 Spring이 자동으로 HTTP요청의 본문을 파싱하여 자바 객체로 바꿔준다.

@ResponseBody : 자바 메서드의 반환값을 HTTP응답 본문으로 변환해주는 역할. 메서드가 반환하는 객체를 JSON,XML등으로 변환하여 클라이언트에 전송. 

▷ 이 두가지 어노테이션은 Spring Framework 에서 RESTful 웹 서비스를 구축할 때 주로 사용되는 중요한 어노테이션. 

함께 사용하면 클라이언트와 서버간의 데이터교환을 효율적으로 처리할 수 있다. 

 

@RestController : @Controller 와 @ResponseBody 를 결합한 것. 이 어노테이션을 사용하면 해당 클래스의 모든 메서드는 JSON이나 XML형식의 데이터를 반환. 주로 RESTful 웹서비스의 컨트롤러 클래스에서 사용 .

 

@RequestMapping : 특정 URL패턴과 HTTP메서드를 매핑하는데 사용. 클레스레벨과 메서드레벨에서 사용할 수 있고, 다양한 속성을 통해 요청을 매핑할 수 있다. 

 

@PathVariable : URL경로의 변수를 메서드 파라미터로 바인딩. 주로 RESTful URL에서 리소스의 ID등을 경로에서 추출할 때 사용. 

 

@RequestParam : HTTP요청 파라미터를 메서드 파라미터로 바인딩 . 쿼리 파라미터, 폼 데이터 등을 처리할 때 사용.

 

@RequestHeader : HTTP요청 헤더 값을 메서드 파라미터로 바인딩 

 

@ NoArgsConstructor : lombok 라이브러리에서 제공하는 어노테이션으로, 클래스에 매개변수가 없는 기본생성자를 자동으로 생성해준다. 이 어노테이션을 사용하면 개발자가 일일이 기본 생성자를 작성할 필요없이 컴파일 시점에 lombok이 자동으로 생성해주기 때문에 이를 통해서 코드가 간결해지고 유지보수가 쉬워진다. 

 

@AutoWired : Spring FrameWork에서 종속성 주입 프로세스를 단순화 하는 어노테이션. 불변성과 테스트 측면에서 생성자 주입을 권장한다. 

 

@Qualifier : 동일한 유형의 콩이 여러개 있는 경우 사용해서 주입할 Bean 지정 가능 .

 

 

🫨오늘의 회고 

여태 잘못된 공부했단걸 알게 된 사람들한테 조언도 듣고 혼나기도 하는 중! 나는 이렇게 해도 되는 줄 알았지...

좀 늦긴했지만 지금이라도 고치는 중인데 사람 잘 안 변한다고 또 나도모르게 그러다가 넘어가고 넘어가고 사람 바뀌기가 이렇게 힘들다 ㅠ 다들 내가 이런걸 어떻게 알고 조언해주는건지 스프링 시작하고 한 분씩 와서 똑같은 얘길 하시길래 신기하기도 하고 엄청 고마운경험을 했다. 지금도 질문을 너무 해대서 가끔 이상한 질문도하는데 너무 잘 대답해주셔서 죄송해지고 있는중이라 질문 줄이려고 노력중! 지금 기술 매니저님한테 여쭤보고싶은데 더 어려운 질문을 받게되서 숨을 못 쉴거 같아서 몰래 다른 매니저님 찾아가서 답변을 받아오는 중.프로그래밍은 너어무 어렵다. 진짜 잘 들어놓고 내일이면 기억이 안난다니 요즘은 자꾸 나한테 의심이 생긴다. 진짜 열심히 하고 있는지 

 

 

 

 

 

 

 

 

 

'개발Article' 카테고리의 다른 글

[TIL]20240706 드디어 람다를 이해할 수 있나..?!  (0) 2024.07.07
[TIL]20240705 @Autowired  (0) 2024.07.06
[TIL]20240703 코드리뷰...!  (0) 2024.07.04
[TIL]20240702 과제지옥....  (0) 2024.07.03
[TIL]20240701 Spring 입문 ①  (0) 2024.07.01