본문 바로가기

개발 이야기/java

(8)
[JPA Auditing] 생성자 / 수정자 자동화 하기 오늘 다뤄볼 내용은 지난주에 포스팅한 JPA Auditing 생성일, 수정일에 이은 생성자와 수정자를 자동화하는 auditing에 대해서 포스팅하려고 한다. JAVA의 ORM(Object Relational Mapping) 기술에 대한 표준 명세를 의미하는 JPA ( Java Persistent API )에서 Auditing이라는 기술을 제공한다. jpa auditing은 도메인에서 공통적으로 쓰이는 필드나 컬럼들에 대해 자동으로 값을 넣어주는 기능이며, 대표적으로는 생성일, 수정일, 생성자, 수정자가 있을 것이다. jpa auditing을 사용하지 않는다면, 도메인을 생성 혹은 업데이트할 때마다 생성 일과 생성자, 수정일과 수정자를 매번 set 해줘야 하는 번거로움이 있는데 jpa auditing을 사..
[JPA Auditing] 생성일/ 수정일 자동화 하기 오늘 다뤄볼 내용은 지난주에 프로젝트에 적용하게 된 JPA Auditing에 대해서 얘기해보려고 한다. JAVA의 ORM(Object Relational Mapping) 기술에 대한 표준 명세를 의미하는 JPA ( Java Persistent API )에서 Auditing 이라는 기술을 제공한다. jpa auditing은 도메인에서 공통적으로 쓰이는 필드나 컬럼들에 대해 자동으로 값을 넣어주는 기능이며, 대표적으로는 생성일, 수정일, 생성자, 수정자가 있을 것이다. jpa auditing을 사용하지 않는다면, 도메인을 생성 혹은 업데이트할 때마다 생성 일과 생성자, 수정일과 수정자를 매번 set 해줘야 하는 번거로움이 있는데 jpa auditing을 사용한다면 굳이 그러지 않아도 자동으로 해당 값을 세팅..
[Java][Spring Boot]어노테이션(Annotation) 회사에서 spring boot 전공 서적을 구입하여 스터디를 진행 중인데, 기존에 ppt를 만들어 발표하는 형식에서 자료를 오랫동안 보존하고 싶은 마음에 블로그에 정리를 시작해볼까 한다. 비록 어느 정도 진행된 스터디이나 앞부분은 추후 시간이 될 때마다 발표했던걸 다시 공부할 겸 정리해서 올릴 계획이다. 글이 다소 정리가 안되어 있을 수 있다. 어노테이션(Annotation)은 java1.5 버전부터 지원되는 기능으로 일종의 메타데이터(metadata)다. 사전적인 의미는 주석인데, 주석처럼 코드에 추가해서 사용할 수 있으며 컴파일 또는 런타임 시에 해석된다. 1. 어노테이션 선언 형식 어노테이션은 @interface를 붙여 선언하고 적용될 대상과 동작 방식을 지정할 수 있다. @Target(Elemen..
[Java]자료형간의 캐스팅 아래 코드들을 보면 아시겠지만 Wrapper 클래스로 형 변환을 할 시에는 valueOf()를 사용하고, 기본형으로 변환을 할 시에는parse~()를 사용하게 됩니다. String ↔ int //String to int String str = "300"; int x = Integer.parseInt(str); int i = Integer.parseInt("200"); //int to String //1. String.valueOf() str = String.valueOf(i); //2. Integer.toString() String str2 = Integer.toString(i); String ↔ long //String to long String str = "9990449935"; long x = Lo..
[Java][Spring]MongoDB 연동 및 사용 Java Spring에 MongoDB를 연동하여 메인 디비로 사용해 아주 간단한 웹페이지를 띄워보려고 합니다. 처음 프로젝트 생성 후 아무것도 손대지 않은 기본 구조입니다. 필자는 Gradle을 사용합니다. 기본 build.gradle group 'mongoBlog' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'war' sourceCompatibility = 1.5 repositories { mavenCentral() } dependencies { testCompile group: 'junit', name: 'junit', version: '4.11' } MongoDB 및 기타 몇가지 필요한 API를 build.gradle에 추가해주었습니다. ..
[Java][Spring]SMTP를 이용한 이메일 인증 기능 개인적으로 만들고 있는 프로젝트의 회원가입 페이지에 이메일 인증이 필요하여 SMTP를 이용하여 이메일로 인증번호를 보내고 보낸 인증번호를 확인하는 이메일 인증 기능을 만들어보았다. SMTP - 간이 전자 우편 전송 프로토콜(Simple Mail Transfer Protocol) 필요 라이브러리 먼저 필자는 gradle을 사용하기에 gradle에 필요한 라이브러리를 넣어준다. 필요한 라이브러리는 spring-context-support와 javax.mail 두 가지이다. ※ spring-context-support는 프로젝트에 쓰고 있는 스프링과 같은 버전을 사용하여야 한다. compile group: 'javax.mail', name: 'mail', version: '1.4' compile group: ..
[intellij] spring mvc + gradle 프로젝트 생성 오늘은 intellij(인텔리제이)를 사용하여 spring mvc + gradle로 프로젝트를 만들어 보겠습니다. 우선 제 개발 환경은 아래와 같습니다. 운영체제 : mac 10.12 java : 1.8 Gradle version : 3.3 tomcat : tomcat8 IDE : intellij IDEA ultimate ※ gradle과 tomcat, java는 별도로 설치를 해주셔야 합니다. 설치 방법은 인터넷에 찾아보면 많으니 생략하겠습니다. 본인은 intellij ultimate 버전으로 무료 버전인 intellij communty 버전과는 다소 다를 수 있습니다. (mac에서 tomcat 설치 : http://compunication.tistory.com/9) 우선 intellij를 실행해봅시다..
[java.spring]jsp 날짜 포맷 형식 변환 java spring에서 mysql에 datetiem필드로 되어있는 값을 가져오면 포맷이 이상하게 바뀌어서 들고 오는 것을 확인하였다. 그래서 일반적으로 보기 좋은 yyyy-MM-dd HH:mm:ss 형식으로 바꾸고 싶어 고민하였다. 우선 컨트롤러에서 처리하여 넘겨주는 방법이 있고 컨트롤러에서 jsp로 넘겨받은 후에 바꾸는 방법이 있는데 나는 jsp에서 바꾸는 방법으로 결정하였다 방법은 생각보다 간단하다. jsp상단에 아래 소스를 추가해준다. 그 다음 데이터를 출력하고자 하는 위치에 아래 소스를 추가해준다. 그리고 확인해보면 정상적으로 바뀌어 출력되는 것을 볼 수 있다. ※ 필자는 아직 배울 것이 많은 초보 개발자입니다. 잘못된 부분이나 고쳤으면 하는 부분은 댓글을 통해 알려주시면 감사하겠습니다. 도움이..