본문 바로가기

분류 전체보기

(198)
@Autowired, @Resource, @Inject의 차이 이번에 소개하는 세가지 어노테이션 @Autowired, @Resource,@Inject은 모두 의존관계를 자동으로 연결해주는 기능을 가진 어노테이션입니다. 다만 조금씩의 차이가 있습니다. @Autowired @Inject @Resource 범용 스프링 전용 자바에서 지원 자바에서 지원 연결방식 타입에 맞춰서 연결 타입에 맞춰서 연결 이름으로 연결 자세한 설명을 하자면, @Inject와 @Resource는 JSR에 실려있는 자바 기존의 어노테이션입니다. 반면 @Autowired의 경우에는 스프링에서 등장한 어노테이션입니다. 따라서 스프링 이외에서는 사용 할 수 없습니다. 만약에 프로젝트를 스프링에서 다른 프레임워크로 바꿀 생각이 있으시다면 @Autowired보단 @Inject나 @Resource를 쓰시면 ..
@Controller VS @RestController, ResponseEntity @Controller VS, @RestController (Controller와 RestController의 차이점) 전통적인 Spring MVC 컨트롤러와 Restful 웹서비스 컨트롤러의 주요 차이점은 HTTP Response Body가 생성되는 방식이다. 기존의 MVC 컨트롤러는 view기술을 사용하지만 Restful 웹서비스 컨트롤러는 객체를 반환하기만 하면 객체 데이터는 JSON/XML 형식의 HTTP 응답을 직접 작성하게된다. 다시 정리하자면 @Controller의 주용도는 view(화면)을 리턴하는 것이고, @RestController는 데이터를 리턴하는 것이 주용도하고 할 수 있다. 물론 @Cotroller의 경우 메서드에 @ResposeBody를 사용하여 객체를 리턴할 수도 있다. Spr..
String==null 과 String.isEmpty() 의 차이 http://salguru.tistory.com/30
백준 11050 이항 계수 1 문제 자연수 N 과 정수 K 가 주어졌을 때 이항 계수 (NK) 를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N 과 K 가 주어진다. (1 ≤ N ≤ 10, 0 ≤ K ≤ N ) 출력 (NK) 를 출력한다. 예제 입력복사 5 2 예제 출력복사 10 힌트 출처 문제를 만든 사람: baekjoon 이항계수 구하기는 재귀 프로그래밍의 기초이다. 이항계수란 n개의 원소에서 r개의 원소를 뽑아내는 방법의 수를 나타낸다. 즉, nCr과 같이 수학에서 조합을 뜻한다. 이항계수 프로그래밍의 해법은 nCr = n-1Cr-1 + n-1Cr의 공식으로 이루어진다. 무슨 의미냐면 n개의 원소 중 r개의 원소를 뽑아내는 경우의 수는 맨 마지막 원소 n을 제외한 n-1개의 원소 중 r-1개를 뽑아내는 경우의 수 + n-1개..
Spring 4 MVC Form Validation and Resource Handling (Annotations) 이번 포스트에서는 Spring Form Tags와 JSR-303 validation annotations, hibernate-validators 를 사용하는 Form Validation 사용하는 방법과 MessageSource를 사용하는 국제화 지원, ResourceHandlerRegistry 사용하여 view 안에 있는 static resources(예를들면, css, jaacript, images)의 처리 방법을 배울 것이다. 모두 annotation 기반 환경설정을 사용할 것이다. 시작해보자! Registration form을 포함하는 간단한 applIcation을 만들 것이다. JSR-303 validation annotations를 통해서 the user-input을 유효성 검사하고 Proper..
No mapping found for HTTP request With URI [/] in DispatcherServlet XML 형식의 환경설정을 이용할 때는 web.xml, root-contxt.xml, servlet-context.xml을 자동적으로 잡아주는 틀이 있지만, Spring JAVA 환경 설정을 할 때는 직접 잡게 된다. 따라서 위의 오류가 뜰 경우 확인해야 할 곳은 1. WebApplicationInitializer 구현체 소스에 주소 오류가 없는지 확인 2.WebMvcConfigurerAdapter 구현체 소스에 주소 오류가 없는지 확인(@ComponentScan, viewResolver 등) 3.Controller의 맵핑 주소 및 패키지 주소 확인
백준 1003번 피보나치 함수 문제 다음 소스는 N번째 피보나치 함수를 구하는 함수이다. 1 2 3 4 5 6 7 8 9 10 11 int fibonacci(int n) { if (n==0) { printf("0"); return 0; } else if (n==1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한..
백준 2749 피보나치 수 3(피사노의 주기) 문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 1,000,000,000,000,000,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 n번째 피보나치 수를 1,000,000으로 나눈 나머지를 출력한다. 예제 입력복사 1000 예제..