전체 글
-
웹 MVC - 1부 ~ 7부Spring 2020. 7. 9. 17:11
1부 웹MVC 소개 스프링 부트에서는 자동 설정으로 웹 MVC에 대한 기본 설정들을 제공해준다. 그런데 확장하거나 재정의 하고싶을때는 어떻게 하는가 ? 확장은 @Configuration + implements WebMvcCOnfigurer 후에 메소드를 오버라이딩 해서 사용한다. 재정의는 잘 사용하지 않는데 @Configuration + @EnableWebMvc 를 사용한다. 2부 HttpMessageConverters Http 요청 -> 객체, 객체 -> Http응답 으로 매핑하는데 사용한다. 사용하기 위해서는 @RequestBody, @ResponseBody를 사용한다. 기본적으로 @Controller에서는 @ResponseBody를 사용하지만 @RestController의 경우에는 HttpMessa..
-
chapter2) 10진수 변환PS/etc 2020. 7. 8. 19:54
public class Q6 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int no; // 변환하는 정수 int cd; // 기수 int dno; // 변환 뒤의 자릿수 int retry; // 한 번 더 ? char[] cno = new char[32]; System.out.println("10진수를 기수 변환 합니다."); do { do { System.out.println("변환하는 음이 아닌 정수 : "); no = scanner.nextInt(); } while (no < 0); do { System.out.println("어떤 진수로 변환 할까요? (2~36) : "); cd = sca..
-
테스트Spring 2020. 7. 8. 18:48
MOCK 사용할때 @AutoConfigureMockMvc , MockMvc 주입받아 사용, 내장 톰캣 사용 안한다. TestRestTemplate 사용할때, RANDOM PORT, DEFINED PORT 있지만 RANDOM_PORT 추천, TestRestTemplate 주입받아 사용, 진짜 내장 톰캣 사용한다. WebTestClient 의존성 webflux 추가후 사용한다. 슬라이스 테스트 WebMvcTest - web과 관련된 클래스들만 빈으로 등록되서 테스트 OutputCaptureRule 로그를 비롯해서 콘솔에 찍히는 모든 것을 캡쳐한다. public 으로 객체 생성해서 사용한다. OutputCapture 가 deprecated 되어 OutputCaptureRule 사용 ※참조 www.inflear..
-
로깅 - 1부, 2부Spring 2020. 7. 8. 17:35
로깅 퍼사드 - Commons Logging, SLF4j - 실제 로깅을 하지않고 로거api들을 추상화 해놓은 인터페이스 - 프레임워크는 보통 로깅 퍼사드를 사용한다. - 장점 : 로거를 바꿔서 사용 할 수 있게 해준다. 중간에 과정이 있지만 최종적으로는 Logback을 사용한다. 디버그 --debug, -Dddebug는 모든 메시지를 디버그로 찍는것은 아니고 embadded container, Hibernate, Spring boot 에 관한것만 디버그 모드로 찍는다. 모든 메시지를 찍고싶을때는 --trace 컬러 출력 application.properties에 spring.output.ansi.enabled = always 파일 출력 logging.file는 path 설정 logging.path는 d..
-
ProfileSpring 2020. 7. 8. 17:02
@Profile 애노테이션은 어디에? - @Configuration - @Component 어떤 프로파일을 활성화 할 것인가? - spring.profiles.active 어떤 프로파일을 추가할 것인가? - spring.profiles.include 프로파일용 프로퍼티 - application-{profile}.properties 같은 이름의 빈이 두 개가 있을때 @Profile()을 통해 어떤 파일을 활성화 할 것인지 정할 수 있다. 이럴때 빈을 호출하면 프로파일 명이 달라 빈을 읽어들이는데 에러가 발생한다. application.properties에 위와 같이 spring.profiles.active=xxx 식으로 어떤 profile을 활성화 할지 정한다. 프로파일용 프로퍼티 application.p..
-
java -2) 타입Java 2020. 7. 8. 01:22
변수(Variable) 데이터를 저장하기 위해 프로그램에 의해 이름을 할당받은 메모리 공간을 의미한다. 즉, 변수란 데이터를 저장할 수 있는 메모리 공간을 의미하며, 저장된 값은 변경될 수 있다. - 이름 생성 규칙 1. 영문자,숫자,언더스코어,달러로만 구성 가능 2. 숫자로 시작 불가능 3. 공백 불가능 4. 미리 정의된 키워드 불가능 - 변수의 종류 1. 기본형(primitive type) 변수 2. 참조형(reference type) 변수 - 정수형 : byte, short, int ,long - 실수형 : float, double - 문자형 : char - 논리형 : boolean - 변수의 선언 1. 변수의 선언만 하는 방법 2. 변수의 선언과 동시에 초기화 하는 방법 상수(constant) 상..
-
chapter2) 배열 요소의 합계 구하기PS/etc 2020. 7. 7. 19:27
public class Q3 { public static void main(String[] args) { Random random = new Random(); int[] arr = new int[random.nextInt(10)]; for (int i = 0; i < arr.length; i ++) { arr[i] = random.nextInt(100); System.out.print(arr[i] + " "); } int sum = sumOf(arr); System.out.println("\n배열 요소의 총 합계 : " + sum); } static int sumOf(int[] arr) { int sum = 0; for (int i = 0; i < arr.length; i++) { sum += arr[i..
-
chapter2) 배열 역순 정렬PS/etc 2020. 7. 7. 19:18
public class Q2 { public static void main(String[] args) { Random random = new Random(); int[] arr = new int[6]; for (int j = 0; j < arr.length; j++) { arr[j] = random.nextInt(100); System.out.print(arr[j] + " "); } for (int i = 0; i < arr.length/2; i++) { System.out.println("\na[" + i + "]과 a[" + (arr.length - 1 - i) + "]를 교환합니다."); swap(arr, i, arr.length - i - 1); for (int j = 0; j < arr.leng..