본문 바로가기

Programming/Java & JSP & Spring

[SpringBoot] 스프링 부트 시작하기 전에 스프링부트를 시작하기 전에 많은 낯선 용어로 어려움을 겪었다. 먼저 스프링부트란 무엇인가?스프링 프레임워크를 사용한 프로젝트를 아주 간편하게 SETUP 할 수 있는 스프링프레임워크의 서브프로젝트이다. WAR파일을 배포할 필요없이 내장된 Tomcat, Jetty, Unertow 를 이용해 실행만 시키면 내장 서버에 배포되어 바로 실행된다.많이 사용하는 라이브러리를 모아놓은 (Starter)POM 파일로 관리가 쉽다.자동설정으로 인해 더 이상 XML 설정이 필요하지 않다. 그렇다면 스프링부트를 왜 사용할까?위에서도 장점을 설명했지만, 기존의 스프링 프레임워크를 이용한 개발 구축은 많은 XML 설정 파일등의 작성량을 요구했다.그래서 잘 만들어놓은 설정파일을 복사해서 사용하거나 검색을 통해 얻은 정보를 그대로 .. 더보기
[Spring] 기본 초기 셋팅 Spring을 사용하기 전에 간단한 개발 환경의 설정이 필요하다. 1. JDK 버전의 처리STS를 이용해서 스프링 MVC 프로젝트를 생성하고 나면 JDK의 버전은 1.6버전을 기준으로 생성된다.JDK 1.7 이상의 버전을 사용하고 싶다면 해당 프로젝트의 'Project Facets'를 변경해주어야 한다. 프로젝트를 선택하고 마우스 오른쪽을 이용해서 Properties를 조정할 수 있다. 'Project Facets' 메뉴 조금 위쪽에는 'Java Compiler' 메뉴가 있다. 이를 이용해서 현재 프로젝트의컴파일 환경 역시 같이 확인해주어야 한다. 2. 스프링 프레임워크의 버전 변경스프링 프로젝트를 사용하면 가끔은 스프링의 버전을 개별적으로 설정해야되는 경우가 발생할 수 있다.http://projects.. 더보기
[Java] 스트링 비교 (equals와 ==의 차이) 기본적으로 자바에서 스트링을 비교할 때 eqauls() 함수 또는 == 식을 이용한다.둘 다 boolean값을 리턴해준다는 공통점이 있지만 차이점이 존재한다. 형태의 차이equals()는 객체끼리 내용(값)을 비교할 수 있는 '메소드'이다.==는 객체의 참조(주소)값을 비교하는 '연산자'이다. 비교방식의 차이앞서 말했듯이 equals()는 내용 자체를 비교하고, ==는 주소를 비교한다.이는 Call By Reference, Call By Value에 대한 이해가 필요하다. 예를 들어, 다음과 같은 문자열을 생성한다.String a = "Test";String b = a;String c = new String("Test"); 변수 a, b, c 모두 "Test"라는 내용을 가지고 있지만, 주소값은 다르다... 더보기
Spring Boot(스프링부트)를 왜 사용해야 하는가? 스프링 부트(Spring Boot)는 스프링 프레임워크를 사용하는 프로젝트를 아주 간편하게셋업할 수 있는 스프링 프레임웍의 서브프로젝트다. 스프링 프레임웍은 우리나라에서 국가 표준이므로 대부분의 자바 프로젝트에서 채택하는 명실상부한 1위 프레임웍이다. 개발자가 직접 만들기 힘든 기능들을 아주 맛깔스럽게 빚어놓음으로써 개발자들의 본 업무 외적인 시스템 내부 작업을 아주 간편하게 해결해주고 있다. 그런데 스프링의 다양한 장점에 비해 개발자들의 이해도는 낮은 편이며 남들이 해놓은 것을 가져다수정해서 쓰는 “ctrl-c, ctrl-v” 방식 개발이 현장에는 만연해 있다.또한 스프링을 충분히 활용하려면 초기 셋업부터 중요한데 일반 개발자는 거의 손을 못대는 경우가 많다.진화하고 있는 스프링 프레임웍에 비해 우리나.. 더보기
[Java] 문자열 자르기 ( split() / StringTokenizer ) Java에서 문자열을 자르는데 사용되는 메소드는 StringTokenizer 와 split 두 가지가 있다. StringTokenizer 로 문자 자르기 예를 들어 다음과 같은 코드가 있다.String str = "학교,집,회사,게임방"; StringTokenizer tokens = new StringTokenizer( str, "," ); for( int x = 1; tokens.hasMoreElements(); x++ ){ System.out.println( "문자" + x + " = " + tokens.nextToken() ); } 결과값은 다음과 같이 나온다.문자1 : 학교문자2 : 집문자3 : 회사문자4 : 게임방 하지만 중간에 문자가 비었을 경우에 문제가 발생한다.예를 들어 다음과 같은 코드가.. 더보기
[Java] String 클래스에서 특수문자 인식 자바 문자열 String 클래스에서 특수문자를 문자열로 인식시켜주기 위해서는따로 조치를 취해줘야 한다. [ ] 로 감싸주면 문자열로 인식하는 특수문자들* → [*]+ → [+]$ → [$]| → [|] \\를 붙여줘야 하는 특수문자들( → \\() → \\){ → \\{} → \\}^ → \\^[ → \\[] → \\] 그냥 써도 괜찮은 특수문자들! # % & @ ' : ; - . , ~ 나머지 대부분 특수문자 앞에는 "\" 를 붙인다. ※ 출처 : http://lazli.tistory.com/entry/Android-Java-String클래스에서의-특수문자-인식 더보기
[Java] 문자열 포함 여부 확인 방법 (contains/ indexOf/ matches) 특정 문자열(String)에서 원하는 문자가 포함되어 있는지를 확인할 때가 있다.Java에서는 여러가지 방법으로 문자열 검색이 가능하다. contains문자열에 검색하고자 하는 문자가 있는지 확인 리턴 값은 boolean ※ contains 예시str.contains("검색어") indexOf문자열에서 검색하고자 하는 문자의 위치를 반환한다.만약 원하는 문자가 포함되어 있다면 문자의 위치를 반환하고포함되어 있지 않다면 -1 를 리턴한다. ※ indexOf 예시str.indexOf("검색어") matches정규식을 이용하여 문자열을 검색한다.특정 문자열을 검색할 때 사용하기 보다는 한글, 숫자 등과 같이 해당 형태의 텍스트가존재하는지 확인할 때 사용된다.리턴 값은 boolean ※ matches 예시str.. 더보기
[JSP] JSTL FOR구문 (c:forEach, c:forToken) 특정 횟수만큼 동일한 작업을 반복하고자 할 때 흔히 for구문이나 while구문을 사용한다.View로 넘어온 리스트를 탐색하고자할 때는 주로 jstl의 forEach나 forToken이 사용된다. 우선 forEach와 forToken을 사용하려면 다음과 같은 코드를 상단에 작성해야한다. ※ 의 사용 예번호 : ${status.count}이름 : ${item.name}나이 : ${item.age}주소 : ${item.addr} ※ 속성 설명var : 사용할 변수명items : Collection 객체begin : 시작 index, 정의되지 않을 경우 0end : 종료 index, 정의되지 않을 경우 items크기 - 1step : 반복 시 이동할 index 크기varStatus : 반복상태를 알 수 있는 .. 더보기