본문 바로가기

Framework11

Mock HttpServletRequest 테스트 코드 작성시 Mock HttpServletRequest 를 생성하는 방법. srping-test MockHttpServletRequest request = new MockHttpServletRequest(); request.addHeader("x-real-ip","127.0.0.1"); Mockito HttpServletRequest mockedRequest = Mockito.mock(HttpServletRequest.class); JMock Mockery context = new Mockery(); HttpServletRequest mockedRequest = context.mock(HttpServletRequest.class); 참조 : https://stackoverflow.com/quest.. 2022. 9. 28.
[SpringBoot] Java를 Kotlin으로 변환하기(Convert Java to Kotlin) 기존 Springboot, Java, gradle로 구성된 샘플 프로젝트를 IntelliJ를 이용하여 Kotiln으로 변환한 과정을 정리하였습니다. 이 과정에서 Kotlin을 처음 써보게 되었고, 제가 한 방법이 잘한 방법인지는 모르겠습니다만.. 그래도 제가 했던 방법을 기록하고 공유하고자 글을 씁니다. 혹시 더 좋은 방법 있으면 댓글 달아주시면 감사하겠습니다. (더 좋은 방법 너무나 알고 싶어요.) 기존 Springboot 프로젝트 스펙은 다음과 같습니다. Java 8+ springboot 2.x gradle 4 기존 프로젝트 소스는 제 Github에서 볼 수 있습니다. Kotlin은 Jetbrains에서 만들어졌기 때문에 IntelliJ에서 Java를 Kotlin으로 변환해주는 기능이 있습니다. 또한.. 2019. 9. 26.
[SpringBoot] REST API Return XML Response SpringBoot에서 @RestController는 return하는 value를 알아서 JSON으로 변형해서 내려주지만, XML은 기본적으로 내려주지 않습니다. 간혹 XML로 리턴받길 원하는 팀이 있어 이참에 정리를 하고자 블로그 글을 쓰게 되었습니다. 설정 - Jackson XML을 project에 추가 XML 형태로 리턴하고자 할 때, 다음과 같이 Maven 이나 Gradle에서 설정 할 수 있습니다. [Maven] com.fasterxml.jackson.dataformat jackson-dataformat-xml [Gradle] compile "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.9.0" 설정과 함께 추가 작업을 해야됩니다. 추가.. 2019. 5. 11.
[JPA] Referential integrity constraint violation, save the transient instance before flushing ㆍReferential integrity constraint violation 오류 :ERROR : HHH000315: Exception executing batch [org.h2.jdbc.JdbcBatchUpdateException: Referential integrity constraint violation: "FKOU1XVFC0SWVOFR46KFD8KHY1N: PUBLIC.AUTHCOMPOSITE FOREIGN KEY(USER_SEQ) REFERENCES PUBLIC.USER(USER_SEQ) (12)"; SQL statement: 이유 :두 Entity간에 부모, 자식 관계가 맺어졌지만 각각 클래스의 ID값에 @GeneratedValue를 설정했기 때문에 각각의 시퀀스 값이 들어가게 된다. 여기서.. 2019. 1. 4.
SpringBoot 프로젝트(2) - STS에서 GitHub로 프로젝트 올리기 Github에 소스를 올리는 방법은 여러가지가 있습니다. 여기서는 SpringBoot 프로젝트(1)에서 만든 프로젝트를 STS를 이용하여 GitHub에 올리는 방법을 소개하겠습니다. 1. GitHub에서 새로운 repository 만들기 1-1. Repository name 입력란에 원하는 레파지토리 명을 입력하시고, Create repository 버튼을 클릭합니다. 1-2. 새로 만든 리파지토리로 이동하여 [Clone or download] 버튼을 클릭합니다. 그러면 아래와 같이 Clone with HTTPS에 URL이 보여지는데, 이 URL을 복사합니다. 2. STS를 띄운 후 아래와 같이 차례대로 클릭하세요. STS - GitHub에 올릴 프로젝트 오른쪽 마우스 클릭 - team - Share P.. 2018. 12. 2.
SpringBoot 프로젝트(1) - SpringBoot, Spring Security, Gradle, MySQL을 이용한 프로젝트 생성 SpringBoot, Spring Security, Gradle, MySQL을 이용한 프로젝트 생성 Spring과 SpringBoot 환경에서 개발을 해왔지만, 개인적으로 좀 더 공부하고 싶어 글을 올리게 되었습니다. 부족하지만 유익한 내용이 되었으면 합니다. 개발환경ㆍOS : Windows 10ㆍJava8ㆍSTS 3.9.5ㆍspringBoot 2.0.4ㆍGradle 2.2.1 프로젝트 생성 전 선작업'Buildship Gradle Integration' 설치하기 1) STS - Help - Eclipse Marketplace 를 클릭2) 입력란에 'gradle'을 입력하여 솔루션 검색3) Buildship Gradle Integration 2.0을 [install] 버튼 클릭하여 설치4) 이클립스 재시.. 2018. 12. 2.
DB 컬럼명을 자바 프로퍼티명으로 자동 매핑 시키기 DB 컬럼명을 자바 프로퍼티명으로 자동 매핑 시키기 예전에 MyBatis로 개발했을 때에는 DB 컬럼명과 자바 프로퍼티명을 아래와 같이 resultMap에 일일히 매핑시켰었다. 하지만 이를 자동으로 할 수 있는 방법이 있다. 다음과 같이 MyBtis 설정에서 mapUnderscoreToCamelCase 을 true로 주면 된다. ... ... 더 자세한 글은 다음 URL을 참조하세요. 참조 : http://www.mybatis.org/mybatis-3/ko/configuration.html 2018. 9. 2.
component-scan과 @Component component-scan과 @Component base-package에 패키지를 어디부터 스캔할지 지정해주며, 자동으로 클래스를 검색하여 빈으로 등록해주는 것이다. 또한 스캔할 패키지를 여러개로 지정해줄 수도 있다.ㆍ특정 패키지 안의 클래스들을 스캔하고, Annotation을 확인 후 bean 인스턴스를 생성한다. @Component @Controller @Service @Repository 등의 Annotation이 존재해야 bean을 생성할 수 있다.ㆍ이것의 장점 중 하나는 @Autowired와 @Qualifier Annotation을 인식할 수 있다.ㆍcomponent-scan을 선언했다면 context:annotation-config를 선언할 필요가 없다. ㆍtx:annotation-driven.. 2014. 9. 27.
[스프링3] 이클립스에서 스프링(Spring) 메이븐(MAVEN) 프로젝트 새로 만들기 개발환경:eclipse: Kepler Service Release 2Spring IDE 3.6.1Tomcat 7.0 1. 이클립스에 STS 설치1.1 eclipse - [help] - [Eclipse Marketplace] 클릭 2. [Search] 탭에서 'STS'를 검색한 후, 자신의 이클립스 버전과 맞는 STS 를 찾아 [install] 버튼을 클릭하여 설치한다. (나의 이클립스 버전은 Kepler 였음.) 3. 그 다음 설치할 목록들이 나오는데, 나 같은 경우 모두 선택하고 [Confirm]버튼 클릭하였다. 4. "I accept the terms of the license agreement" 를 선택하여 동의하고, [Finish] 버튼을 클릭한다. 5. 설치진행 상태를 보여주는데, 시간이 좀 걸.. 2014. 9. 27.
[MyBats/iBatis] insertList 정리 기본적으로 오라클에서 INSERT ALL 을 제공해준다. - INSERT ALL 예제 (출처: http://302.pe.kr/349 )Insert All- Oracle 9i 이상에서 지원.- Multitable insert는 한개의 테이블에 여러 row를 넣거나, 여러개의 테이블에 데이터를 한 insert 명령으로 넣을 수 있습니다. 이전 버전에서는 이런 기능은 PL/SQL로 구현을 해야 했으나 9i 이후로는 한 명령으로 수행할 수 있습니다. -- Unconditional insert into ALL tables INSERT ALL INTO sal_history VALUES(empid,hiredate,sal) INTO mgr_history VALUES(empid,mgr,sysdate) SELECT emp.. 2013. 9. 22.
반응형