목록JAVA (7)
개발기록
- Bean이란 스프링 IoC Container에서 관리하고 있는 객체이다. 일반 객체와 bean의 차이는, IoC 컨테이너에서 관리하고 있느냐 여부에 따라 갈린다. Bean들만 DI(의존성주입)이 가능하다. - Bean 설정 방법 1) Component Scanning - @Controller, @Component등의 애노테이션 등록 -- @Repository, @Service, @Controller, @Configuration - @Repository 는 스프링 JPA에 의해 Repository를 상속하는 구현체를 내부적으로 만들어서 Bean으로 등록한다 2) 직접 Bean으로 등록 - xml파일혹은 자바설정파일을 통해 셋팅 @Configuration public class SomplcConfig{ ..
Java에서 영속적인 데이터 관리를 위해서는 Persistance Framework를 사용하고 있다. 이 프레임 워크는 크게 SQL Mapper와 ORM(Object-Relationship Mapping)으로 나눌 수 있다. 그럼 이 두 개의 차이점은 무엇일까? ORM은 데이터베이스 객체를 자바 객체로 맵핑함으로써 객체 간의 관계를 바탕으로 SQL을 자동으로 생성해주는데 반해, SQL Mapper는 직접 SQL을 명시해주어야 한다. 추가로, ORM은 관계형 데이터베이스의 '관계'를 object에 반영하자는 것이 목적이라면, SQL Mapper는 단순히 필드를 맵핑시키는것이 목적이라 지향 점의 차이가 있다고 볼 수 있다. 1. SQL Mapper SQL Object 필드 SQL Mapper는 SQL 문장으..
Webjar는 Web에서 사용하는 라이브러리들(jquery, bootstrap 등)을 jar 파일 형태로 maven 혹은 gradle의 관리 툴을 이용하여 다운받을 수 있도록한 것이다. 이렇게 하면 리소스와 라이브러리 코드를 별도로 관리 할 필요 없이 jar 파일로 다운받아 배포를 더 편리하게 할 수 있다.
@Controller와 @RestController는 용도의 차이가 있으며, 주요한 차이점은 HTTP Response Body가 생성되는 방식이 다르다. @Controller는 주로 Model과 View를 전달하는데, 추가적으로 클라이언트에게 Json 형태로 데이터 반환을 원하는 경우 @ResponseBody를 사용한다. @RestController는 Spring MVC Controller에 @ResponseBody가 추가된 것이므로, 주 용도는 Json/XML형태로 데이터를 반환하는 것이다. 흐름 순서 : @Controller Client(Browser) -> Request -> Dispatcher Servlet -> Handler Mapping -> Controller -> View -> Dispat..
프로그래밍을 하는데 있어서 문자열을 다양하게 처리할 때가 있는데, 특정 문자열만 남기거나 제거할 수 있도록 정규표현식을 통해 사용하는 방법을 알아보도록 한다. 1) 숫자 숫자만 제거 / 숫자제외 나머지 항목 제거 String str = "Hi, I am 20 years old."; str.replace("[0-9]", ""); // Hi, I am years old. str.replace("[^0-9]", ""); // 20 /* * 위 코드 수행결과를 보면 알 수 있듯이 숫자는 [0-9]로 표현하며, * ^는 !(not)과 동일한 양상을 띄운다. */ 2) 영어 대문자 제거 String str = "I Live In South Korea."; str.replaceAll("[A-Z]", ""); // i..
String -> Int String from = "123"; int to = Integer.parseInt(from); int to2 = Integer.valueOf(from) Int -> String int from = 123; String to = Integer.toString(from); Char -> Int char from = '9'; int to = from - '0'; Int -> Char int from = 9; char to = (char)(from + '0');
Rand.java:77: illegal start of type return result ; ^ return문이 대괄호 밖에 있을때 발생하는 오류 필자는 타이핑 오류로 아래와 같이 괄호 오타가 발생하여 생겼다. /** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */ class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) {} int tmp = 0; int tmp_rst = 0; while((l1 != null) && (l2 != null)){ tmp_..