TIL저장소
close
프로필 배경
프로필 로고

TIL저장소

  • 분류 전체보기 (68)
    • HTTP (4)
    • Java (7)
    • Spring (13)
    • 트러블 슈팅 (1)
    • Servlet&JSP (4)
    • 알고리즘 (5)
    • 백준 (26)
      • 동적 계획법 (17)
      • 브루트포스 (9)
    • 회고록 (2)
    • 프로그래머스 (1)
  • 홈
  • 태그
  • 방명록
(Spring)Transaction이란?

(Spring)Transaction이란?

Transaction이란? 더 이상 나눌 수 없는 작업의 단위를 일컫는다.(Tx) insert, update, select 처럼 명령 하나하나가 트랜잭션이다. 트랜잭션의 속성 - ACID 1️⃣ 원자성(Atomicity) - 나눌 수 없는 하나의 작업으로 다뤄져야 한다. 2️⃣ 일관성(Consistency) - Tx 수행 전과 후가 일관된 상태를 유지해야 한다. 3️⃣ 고립성(Isolation) - 각 Tx는 독립적으로 수행되어야 한다. 4️⃣ 영속성(Durability) - 성공한 Tx의 결과는 유지되어야 한다. 커밋과 롤백 - 커밋(commit) - 작업 내용을 DB에 영구적으로 저장 - 롤백(rollback) - 최근 변경사항을 취소(마지막 커밋으로 복귀) 자동 커밋과 수동 커밋 - 자동 커밋 - ..

  • format_list_bulleted Spring
  • · 2022. 9. 26.
  • textsms
(Spring) Juit4 TDD

(Spring) Juit4 TDD

✏️ Junit이란?TestFramework로 Test의 자동화를 도와주는 프레임워크이다.TDD(Test-Driven-Development)라고도 불리며 '테스트 주도 개발'이라는 의미를 가진다.Junit이라는 테스트 프레임워크를 이용하여 테스트를 자동화하면 테스트할 코드가 많아도 일괄적으로 실행하여어떤 테스트가 실패했고 성공했는지 한 번에 여부를 확인할 수 있다는 이점을 지닌다.예제를 통해서 학습해보자.  아래의 코드는 root-context.xml이다.  아래의 코드는 DBConnectionTest.java이다.public class DBConnectionTest2Test { @Test public void springJdbcConnectionTest() throws Ex..

  • format_list_bulleted Spring
  • · 2022. 9. 25.
  • textsms
(Spring)@GetMapping & @PostMapping

(Spring)@GetMapping & @PostMapping

@RequestMapping을 사용할 때 @RequestMapping("/add")와 같이 사용하였다. 이 문장의 원래 형태는 @RequestMapping(value="/add", method={RequestMethod.GET, RequestMethod.POST})이다. 즉 RequestMapping에 method 부분을 생략하면 배열의 형태로 GET과 POST방식 둘 다 허용한다는 의미가 된다. 만약 GET방식만 허용 하고 싶은 경우에는 @RequestMapping(value="/add", method=RequestMethod.GET) 와 같이 명시적으로 적어야한다. 하지만 위의 코드가 번잡하기 때문에 Spring 4.3 이후 부터 @GetMapping / @PostMapping을 지원하게 되었다. 즉..

  • format_list_bulleted Spring
  • · 2022. 9. 4.
  • textsms
(Spring)@WebDataBinder

(Spring)@WebDataBinder

WebDataBinder란? 클라이언트가 만약 http://localhost/ch2/getYoilMVC5?year=2021&month=10&day=1 이라고 요청을 보내오면 이 값이 컨트롤러 메서드에게 전달이 된다. 그 값을 받는 매개변수의 데이터 타입이 MyDate이기 때문에 MyDate타입의 객체가 만들어지고 쿼리 스트링으로 전달받은 요청할 때 받은 값들이 객체에 채워져야 한다. 하지만 쿼리스트링은 무조건 문자열로만 취급해서 문자열이지만 MyDate에 선언된 필드들은 모두 int형이다. 그렇기 때문에 쿼리스트링으로 받은 문자열을 MyDate의 필드 타입인 int형으로 형변환이 필요한데 이 중간에서 그 작업을 해주는 것이 WebDataBinder이다. WebDatBinder의 역할 1️⃣ 타입변환 위의..

  • format_list_bulleted Spring
  • · 2022. 9. 4.
  • textsms

(Spring)@ModelAttribute

@ModelAttribute란? 적용 대상을 Model의 속성으로 자동 추가해주는 애너테이션을 의미한다. 즉 파라미터로 넘겨받은 값을 Model에 자동 저장해주는 기능을 한다. 밑의 코드를 통해 살펴보자. @RequestMapping("/getYoilMVC5") // http://localhost/ch2/getYoilMVC6 //public String main(@ModelAttribute("myDate") MyDate date, Model model) { // 아래와 동일 public String main(MyDate date, BindingResult result) { System.out.println("result="+result); // 1. 유효성 검사 if(!isValid(date)) retu..

  • format_list_bulleted Spring
  • · 2022. 9. 4.
  • textsms
(Spring)@RequestParam

(Spring)@RequestParam

1. RequestParam RequestParam이란 요청할 때 넘어온 파라미터를 매개변수에 연결할 때 사용하는 애너테이션이다. 위의 그림에서 main2(String year) 부분이 원래는 main2(@RequestParam(name="year", required=false) String year)이지만 앞의 파란 소괄호 부분은 생략 가능하다. name은 파라미터 이름이고, required는 필수 여부를 의미한다. 즉 두 문장은 같은 의미인데 보통은 생략해서 main2(String year)로 사용한다. 사용자가 http://localhost/ch2/reuestParam2 와 같이 year가 없이 넘어오면 year 값은 null이 된다. 사용자가 http://localhost/ch2/reuestPar..

  • format_list_bulleted Spring
  • · 2022. 9. 4.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (68)
    • HTTP (4)
    • Java (7)
    • Spring (13)
    • 트러블 슈팅 (1)
    • Servlet&JSP (4)
    • 알고리즘 (5)
    • 백준 (26)
      • 동적 계획법 (17)
      • 브루트포스 (9)
    • 회고록 (2)
    • 프로그래머스 (1)
최근 글
인기 글
최근 댓글
태그
  • #백준
  • #브루트 포스
  • #http
  • #java
  • #동적 계획법
  • #spring
  • #dynamic Programing
  • #동적계획법
  • #JSP
  • #동적 프로그래밍
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바