일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 구간합구하기
- 스택
- OOP
- 버블정렬
- Spring Web MVC
- 재귀와반복문
- 프로그래머스
- 백준 11659
- Array.asList
- 인텔리제이
- 재귀함수
- 싱글톤패턴
- 11659
- 백준
- 클라우드에서 도커 실행하기
- MySQL
- Spring MVC 동작원리
- 성능테스트툴
- List.of
- String.valueOf()
- 코드스테이츠
- java
- Spring MVC 구성요소
- 자바
- vm인스턴스생성
- 코드스테이츠 백엔드
- 알고리즘
- 투포인터알고리즘
- GCP
- 코딩테스트
- Today
- Total
목록글 전체 보기 (242)
순간을 기록으로
제네릭 이전의 코드의 단점 1.클래스가 자료형에 의존적이게 된다. 2.인스턴스를 꺼낼 때 형변환을 해야한다. Apple ap = (Aplle)aBox.get(); Orange og = (Orange)oBox.get(); 3.실수가 컴파일 과정에서 발견되지 않는다. aBox.set("Apple");// 문자열 "Apple" 담았는데 실수다 oBox.set("Orange");// 문자열 "Orange" 담았는데 실수다 제네릭 기반 클래스 정의 class Box { private T ob; public void set(T o) { ob = o; } public T get() { return ob; } } 제네릭의 등장으로 자료형에 의존적이지 않은 클래스를 정의할 수 있고 앞에서 본 문제점을 해결할 수 있다. ..
1.테이블의 모든 데이터 삭제하기 DELETE FROM 테이블명 2.특정 데이터 삭제하기 DELETE FROM 테이블명 WHERE 조건식

1.행 데이터 추가하기 INSERT INTO 테이블명 VALUESE(값1, 값2, ...) 모든 열의 값을 넣어서 행(데이터)를 추가하는 방법이다. 예제 테이블 데이터가 없어서 어떤 칼럼이 있는지 확인하기 어렵다. 테이블 칼럼 확인하기 3개의 속성이 확인됐다. no는 null이 허용되지 않는 int형 필드 a는 null이 허용되는 최대 문자열 길이가 30인 문자열형 필드 b는 null이 허용되는 날짜형 필드 행(데이터) 추가하기 데이터가 추가됐는지 확인 2.열을 지정해서 행(데이터)추가하기 INSERT INTO 테이블명(열1, 열2, ...) VALUESE(값1, 값2, ...); 일부 값만을 입력해서 행(데이터)를 추가하는 방법이다. 값이 디폴트가 아닌 열은 반드시 명시해야한다. 데이터가 추가 됐는지 ..

자료형 날짜시간형 DATETIME 날짜형 DATE 시간형 TIME 시스템 날짜 확인하기 SELECT CURRENT_TIMESTAMP; 날짜의 덧셈과 뺄셈 날짜시간형 데이터는 기간형 수치데이터와 덧셈 및 뺄셈을 할 수 있다. 오늘을 기준으로 내일 날짜 구하기 CURRENT_DATE: 날짜만 확인하는 함수 INTERVAL 1 DAY: 1일 후라는 의미의 기간형 상수 날짜형 간의 뺄셈

1.HomeController 만들기 @GetMapping을 이용해 'localhost:8080'이 입력되면 연산없이 home.html로 가도록 만든다. 2.home.html 만들기 실행결과 회원 가입 버튼을 누르면 localhost:8080/members/new로 이동한다 회원 목록 버튼을 누르면 localhost:8080/members로 이동한다. 참고 스프링은 url을 받으면 첫번째로 맵핑되는 컨트롤러가 있는지 찾는다. 연관된 컨트롤러가 있으면 관련 html로 이동한다. 만약 없다면 resource/static 폴더에서 맵핑되는 html파일을 찾는다.

~Application.java가 있는 위치에 SpringConfig 클래스 생성을 합니다. @Bean은 스프링 빈 등록을 직접하겠다는 의미이다. @Configuration은 설정파일임을 알려준다. 멤버 서비스와 멤버 레포지토리를 직접 등록한다. 컨트롤러는 스프링이 자동으로 관리하기 때문에 컴포턴트 스캔 방식으로 놔둔다. 서비스의 경우 객체 생성할 때 생성자 인자로 밑에 함수를 넣어 연결을 해준다. 참고1 의존성 주입에는 1.필드 주입, 2.setter 주입, 3.생성자 주입이 있다. 거의 대부분 생성자 주입을 실무에서 사용 중이다. setter주입의 경우 변경될 가능성이 있어 안정성이 떨어지는 단점이 있다. 참고2 정형화된 컨트롤러, 서비스, 레포지토리의 경우 컴포넌트 스캔 방식을 이용한다. 하지만 정..

컴포넌트 스캔(Component Scan) 스프링이 @Conponent 애노테이션을 이용해 컨테이너에 빈을 등록하는 방법을 말한다. 현재에는 @Controller, @Service, @Repository 애노테이션을 많이 사용한다. 이 애노테이션을 사용해도 똑같이 작동한다. 왜냐하면 이 애노테이션 정의 안에 @Component 애노테이션이 들어있기 때문이다. @Controller 스프링은 @Controller를 발견하면 어노테이션이 붙은 클래스의 객체를 생성해 스프링 컨테이너에 등록을 한다. 이 말은 스프링 컨테이너에서 스프링 빈이 관리된다는 말과 같다. @Autowired 어노테이션 @Autowired 어노테이션이 생성자에 붙어있을 때, 스프링은 스프링 컨테이너에서 멤버 서비스 빈 객체를 가져와서 멤버..

스프링을 이용한 웹 개발에는 3가지 방법이 있습니다. 정적 컨텐츠 MVC와 템플릿 엔진 API 1.정적 컨텐츠 클라이언트(브라우저)가 요청하면 서버에서 어떠한 연산도 없이 파일 그대로 웹브라우저에게 주는 방법 소스코드 더보기 정적 컨텐츠 입니다. 브라우저에서 localhost:8080/hello-static.html입력하면(요청하면) 내장 톰캣 서버가 요청을 받습니다. 요청을 받은 내장 톰캣 서버는 우선 'hello-static'과 관련된 컨트롤러가 있나 찾습니다. 만약 관련 컨트롤가 없다면 resoruce 디렉토리 아래에서 'hello-static.html'을 찾습니다. 그리고 찾은 hello.static.html을 클라이언트(브라우저)에게 주면서 응답합니다. 2.MVC와 템플릿엔진 현재 가장 많이 사..