본문 바로가기

분류 전체보기542

[Java] 자바 instanceof 사용방법 instanceof는 객체타입을 확인하는데 사용한다. 속성은 연산자이고 형변환이 가능한 지 해당 여부를 true 또는 false로 가르쳐준다. 객체 타입이라 하니 어려운 개념 같은데, 주로 부모 객체인지 자식 객체인지 확인하는데 쓴다고 생각하면 된다. 현재 참조하고 있는 클래스를 확인할 수 있는 메소드인 getClass를 함께 알아두면 좋다. 관련글보기: - 자바(Java) getClass 메소드 사용방법 instanceof의 사용형식은 ‘객체 + instanceof + 클래스’ 이다. A를 부모, B를 자식 클래스로 세팅하고 두 클래스 간 형변환이 가능한지 확인해보았다. class A{} class B extends A{} class instanceofEx01 { public static void ma.. 2021. 5. 11.
[Spring] @value(value annotation) 사용 방법 Properties를 읽는 방법이야 무궁무진하겠지만, 스프링으로 프로퍼티를 읽을 때 자주 사용하는 방법으로 value annotation을 이용하기도 한다. 사실 필자는 properties를 xml로 설정하여 map에 담아 get형태로 읽는 것을 선호하지만 요즘 워낙 어노테이션이 대세니 코드가 올드해보이지 않기 위해 일정 부분은 어노테이션을 섞는다. 사용방법은 매우 간단하다. 우선 resource 위치에 properties 파일을 생성한다. 예를 들기위해서 이 포스팅에선 test.properties라는 설정파일을 생성하였다. resources에 test.properties를 생성하였다. test.properties test=테스트입니다. @Value 예제 import egovframework.rte.fd.. 2021. 5. 10.
MyBatis - 동적 쿼리 사용하기 1. 기본적인 동적 쿼리 SELECT * FROM KH.EMPLOYEE WHERE ${searchType} = #{keyword} map 형식으로 검색 타입과 키워드를 받아와서 처리했다. WHERE 절에서 검색 타입은 ${ } 로 전달하며 키워드는 #{ } 로 전달한다. ${ } 는 파라미터 값이 그대로 들어가며 #{ } 는 파라미터 값이 ' ' 으로 감싸진다. 달라지는 검색 조건에 대응할 수 있다. 2. if문을 이용한 동적 쿼리 SELECT * FROM EMPLOYEE WHERE 1=1 AND NAME LIKE '%' || #{keyword} || '%' AND GENDER = #{gender} if문을 이용한 동적 쿼리 이다. if문을 이용하는 방법은 EL 처럼 test 속성에 조건을 넣어주면 된다.. 2021. 5. 10.
Mybatis란? (장점, 특징, 컴포넌트) Mybatis Mybatis는 자바 오브젝트와 SQL사이의 자동 매핑 기능을 지원하는 ORM(Object relational Mapping)프레임워크이다. SQL을 별도의 파일로 분리해서 관리하게 해준다. Hibernate나 JAP(Java Persistence Api)처럼 새로운 DB프로그래밍 패러다임을 익혀야하는 부담 없이 SQL을 그대로 이용하면서 JDBC코드 작성의 불편함도 제거해주고 도메인 객체나 VO객체를 중심으로 개발이 가능하다는 장점이 있다. Mybatis의 특징 쉬운 접근성과 코드의 간결함 JDBC의 모든 기능을 Mybatis가 대부분 제공한다. 복잡한 JDBC코드를 걷어내며 깔끔한 소스코드를 유지할 수 있다. 수동적인 파라미터 설정과 쿼리 결과에 대한 맵핑 구문을 제거할 수 있다. SQ.. 2021. 5. 10.
[git] 에러 | ! [rejected] main -> main (fetch first) 해석 상황 작업을 마친뒤 로컬에서 원격저장소로 git push를 했는데 ! [rejected] main -> main (fetch first) 에러가 발생했다. 원인 해당 에러는 원격저장소와 현재 작업중인 로컬저장소가 동기화되지 않았을 때 발생한다. 동기화되지 않은 상태에서 다시 push하면 데이터가 소실될 수 있어 하고 경고해주는 것. 나의 경우 원인은 이전에 깃허브 웹에서 README를 살짝 건드려봤었는데 그걸 로컬에 pull 하지 않고 작업, 다시 push하려고 해서 에러가 발생했다. (출처와 마친가지로 나의 경우도 git push후 , README 수정 했다. 그리고 수정된 코드 다시 push하려하니 동기화가 되지 않아 오류가 났다. ) 해결 두 가지 방법이 있다. 1. 동기화를 위해 pull g.. 2021. 5. 10.
[JSP] JSP (JavaServer Pages ) 란 무엇인가? JSP (JavaServer Pages ) 란 무엇인가? JSP 란 JavaServer Pages 의 약자이며 HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다. JSP 가 실행되면 자바 서블릿(Servlet)으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다. 위와 같이 정의만 보고는 어려운 용어가 많이 들어가기 때문에 몇가지 개념을 짚고 넘어 가겠다. 웹(web) 웹이란 인터넷 기반의 정보기술로 World Wide Web 의 줄임말로 쓰이며 WWW 라고도 한다. 전세계에 거대한 네트워크 망을 통해 정보를 공유하며 정보의 흐름은 양방향성을 가진다. 웹어플리케이션(Web Applicatio.. 2021. 5. 10.
[Java] Java EE , Servlet 개념과 정리글 1. Java EE ( Enterprise Edition ) * 기업에서 사용하는 프로그램을 만드는데 적합한 자바 개발 버젼 - Java EE Spec : Servlet , Jsp , EJB(Enterprise Java Beans) ㄴ Web 언어 ㄴ Service언어 : 업무를 모듈로 개발하여 서비스 하는 프로그램 * 의존성있는 프로그램이다 - servlet , JSP : web container에 의존성이 있다. (즉 Server에 의존) - EJB : EJB Server에 의존성이 있다. * WAS (Web Application Server) - Java EE의 모든 Spec을 서비스할 수 있는 프로그램 - Web logic(BEA사),Web share(IBM),JBOSS(무료),Jeus(TMAX).. 2021. 5. 10.
[자바(java)/스프링(spring)] 면접 질문 모음 😎자바, 스프링 면접 질문 1. OOP가 뭐죠? 2. 자바의 메모리 영역에 대해서 설명해보세요. 3. 인터페이스가 뭐죠? 왜 사용하나요? 4. 메모리 상수풀 영역에 대해 설명해보세요. 5. jdbc가 무엇인가요? 6. 직렬화란 무엇인가요 ? 7. serialVersionUID를 선언해야 하는 이유는 뭔가요? 8. 리플렉션이란 무엇인가요? 9. 자바의 클래스 멤버 변수 초기화 순서에 대해 설명하세요 10. Servlet과 JSP를 비교해서 설명하세요 11. 제너릭이 무엇인가요? 12. 컬렉션 클래스에서 제너릭을 사용하는 이유를 설명하세요 13. pojo가 무엇인가요? 14. 박싱과 언박싱에 대해 설명하세요 15. 데드락이 무엇이고, 해결방법에 대해 설명해보세요 16. 상속과 컴포지션(합성)의 차이에 대해서.. 2021. 5. 10.
[Java] 세션(Session) 이용하는 방법 세션은 클라이언트 별로 서버에 저장되는 정보이다. 사용자 컴퓨터에 저장되던 쿠키와 다르게 서버에 저장되므로, 비교적 보안이 필요한 데이터는 쿠키보다 세션에 저장한다. 서버가 종료되거나 유효시간이 지나면 사라진다.   1. 세션 이용 방법  웹 클라이언트가 서버에게 요청을 보내면 서버는 클라이언트를 식별하는 session id를 생성한다. 서버는 session id로 key와 value를 저장하는 HttpSession을 생성하고, session id를 저장하고 있는 쿠키를 생성하여 클라이언트에게 전송한다. 클라이언트는 서버 측에 요청을 보낼 때, session id를 가지고 있는 쿠키를 전송한다. 서버는 쿠키의 session id로 HttpSession을 찾는다.   javax.servlet.http.Ht.. 2021. 5. 10.
728x90
반응형