My footsteps

스프링 예외처리 + 유닉스 본문

국비수업/수업정리

스프링 예외처리 + 유닉스

밀김 2023. 6. 30. 14:44
728x90

 

 

 

 

 

 

 

 

 

 

- 서버에는 두가지 컨트롤러가 존재 (레스트 / 페이지 백엔드기반)

 

 

- 페이지를 만드는 기능은 프론트로 가야한다

 

 

- 단위테스트 통합테스트 모두 할줄 알아야 한다

 

 

- mybatis는 데이터를 영구 저장해주는 프레임워크다(+매퍼도 지원 / mapping정보를 통해서 DAO를 구성해줌)

 

 

- 메모리는 휘발성이 있는 데이터다

 

 

- DAO인터페이스와 SQL을 연결해줌

 

 

- JPA는 데이터를 엑세스해주는 객체를 만들어주고 SQL 만들어줄 필요가 없음

 

 

- SQL은 DBMS에 종속된것

 

 

- ORM : 오브젝트(즉,엔티티)와 연결한 mapping

 

 

 

 

 

 

프론트 전에 짚고 가는,

< 스프링 예외 처리 >

 

 

- 에러가 났을때 보여주지 않아도 되는 세부정보들까지 보여지니까 에러 화면을 따로 두던지 이러는게 좋음..

 

 

이 메서드 하나만 넣어주면 됨

 

 

 

 

 

 

필요에 따라 원하는 에러페이지를 만들어서 골라 띄울수 있다

 

 

 

 

 

 

   @ExceptionHandler(Exception.class)
   public String error(Exception e) {
	   
	   System.err.println("에러 났시유~");
	   
	   return "";
   }
   //이 에러메세지가 사용자한테 보여지는거나 하는건 아님

 

 

 

- 존재하지 않는 url도 익셉션 쟤가 알아서 다 처리해줌

 

 

- 에러폴더 이름은 errors 아니고 error로

 

 

- 404에러는 404.html 500은 500.html

 

 

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">

   <head>
   
   </head>
   
   <body>
	404 에러당<br>
	//두페이지 뒤로 가게 할수 있음!! 오 신기해 ㅋㅋ
	<a href="javascript:window.history.go(-2)"></a>
   </body>

</html>

화면은 이렇게 뜨고 이전페이지 누르면 이전페이지로 간다

 

 

 

 

 

 

 

트랜젝션 처리

 

 

 

- 마감에서 가장 중요한건 예외처리다

 

 

- 트렌젝션 : 업무단위

 

 

 

- 어토미시티(?) : 원자성

- 컨시스턴시 : 일관성 (우리가 하는거 XX)

- 아이솔레이션 : 고립성(내가 작업하고 있는 것들을 다른 애들이 건드리지 못하게 하는것)

- 듀레이션 : 엔지니어들이 할일임 (우리가 하는거 XX)

 

 

 

- 원자성 : 명령어가 두개 다 적용되던지 아니면 원래대로 돌려놔야 되는것 ▶이걸 막는것을 '원자성 행위'라고 한다

 

 

 

 

- @Transactional 이 어노테이션을 붙이면 원자성에 위배되지 않는다

@Override
@Transactional
public void tsTest() {
	//걍 테스트용 업무임
	Menu menu = Menu.builder().id(807).korName("딸기달콤해요").build();
	repository.update(menu);
	
	Menu menu1 = Menu.builder().id(807).korName("딸기상콤해요").build();
	repository.save(menu1);
}

 

 

 

 


 

 

< 유닉스 찍!먹! >

 

 

 

- 쉘: 껍데기,껍질(탐색기)

 

 

- 윈도우 탐색기 : 명령어를 실행해주는 또다른 쉘

 

 

- 시작화면에 있는 바탕화면도 쉘이다

 

 

 

 

 

 

 

 

728x90

'국비수업 > 수업정리' 카테고리의 다른 글

Vue.js / 1  (0) 2023.07.04
AOP / 프록시 / 전파옵션과 고립화  (0) 2023.07.03
RestController / 11  (0) 2023.06.29
RestController / 10  (0) 2023.06.28
RestController / 9  (0) 2023.06.27