전체 글

전체 글

    [Java] Generic 제너릭 타입 - 개념,사용법,활용법

    클래스 class Test{ private T t; public void set(T t) { this.t = t; } public T get() { return t; } } 아래는 Method Generic Type 사용법이다. 메소드 제너릭 타입은 Class에 Generic Type을 선언하지 않고, 각 메소드마다 Generic Type을 선언해 사용할수 있다. 아래의 코드 처럼 메소드의 파라미터의 T 이 선언되어 있다면, 리턴타입 바로앞에 제너릭 타입을 선언해주어야한다. ※ 메소드의 파라미터에 가 선언되어 있다면, ReturnType 앞에 를 선언하자. class TestMethod { public static List method(List list, T item) { list.add(item); r..

    [Intellij / 인텔리제이] HttpUrlConnection 한글 깨짐

    실행환경 : intellij + springBoot(websocket) 네이버 챗봇 API를 연동하는 작업을 하는데 응답을 받아오는 한글이 깨져서 나왔다. public String sendMessage(@Payload String chatMessage) throws IOException { URL url = new URL(apiUrl); String message = getReqMessage(chatMessage); String encodeBase64String = makeSignature(message, secretKey); HttpURLConnection con = (HttpURLConnection)url.openConnection(); con.setRequestMethod("POST"); con.s..

    [Intellij / 인텔리제이] 윈도우 실행시 한글 깨짐

    1. 콘솔에 System.out.println 한글 깨짐 System.out.println("PathVariable : " + pathName); 2. 테스트코드에 @DisplayName 한글 깨짐 public class Test1 { @DisplayName("1. 테스트") @Test void test_1(){ assertEquals("test", "test"); } } 3. 해결 방법 File > Setting > File Encodings에 UTF-8로 수정 C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.3.3\bin (디폴트 경로) 설치 경로에 idea.exe.vmoptions, idea64.exe.vmoptions 파일 수정 파..

    [토비의 스프링 - Vol.1] 내가 몰랐던 용어 정리

    1. OXM(Object-XML-Mapping): XML과 자바오브젝트를 매핑해서 상호 변환해주는 기술 - 대표적인 기술들 Castor XML : 설정파일이 필요 없는 인트로스펙션 모드를 지원하고 매우 간결하고 가벼운 바인딩 프레임워크 JiBX: 뛰어난 포퍼먼스를 자랑하는 XML바인딩 기술 XmlBeans: 아파치 XML 프로젝트의 하나, XML 정보셋을 효과적으로 제공 Xstream: 관례를 이용해서 설정이 없는 바인딩을 지원하는 XML바인딩 기술 JAXB: JavaSE와 JavaEE 표준에 포함된 기술 2. 인트로스펙션(Introspection): 인트로스펙션(Introspection) 은 자바의 리플렉션(Reflection) 과 같이 객체의 메타데이터(객체의 클래스, 구현 메소드, 프로퍼티, 프로토..

    [토비의 스프링 - Vol.1]7장 XML SQL 서비스 실습(리스트7-19)

    리스트 7-19 생성자 초기호 ㅏ방법을 사용하는 XmlSqlService 클래스 실습을 하는 중 public class XmlSqlService implements SqlService{ ... public void read(SqlRegistry sqlRegistry) { String contextPath = Sqlmap.class.getPackage().getName(); try { JAXBContext context = JAXBContext.newInstance(contextPath); Unmarshaller unmarshaller = context.createUnmarshaller(); InputStream is = UserDao.class.getResourceAsStream("sqlmap.xml")..

    [토비의 스프링 - Vol.1]7.2.1 xml 파일 매핑 - JAXB 관련 실습 중 나온 현상

    JAXB를 사용하여 매핑하는 실습을 진행중 나온 헤맨 상황 1. 아래의 코드를 입력 2. 셀이나 도스창에서 프로젝트 루트 폴더로 이동 후 아래의 명령어를 입력 xjc -springbook.user.sqlservice.jaxb sqlmap.xsd -d src 2번 작업을 하는중 xjc를 찾지 못하면서 진행이 되지 않았음 이유를 찾아보니 1. java -version 으로 치면 jdk 1.8을 보여주고 javac -version 으로 치면 jdk 12를 보여주고 있었음 -> 환경변수를 가보니 JAVA_HOME이 jdk 12로 되어 있어서 jdk1.8로 변경했음 -> xjc는 jdk 12에서는 지원이 되지 않는걸로 보였음 2. 설정 후 다시 명령어를 쳤으나 src파일을 찾을 수 없다는 내용을 보여주며 안됌 -..

    [토비의 스프링 - Vol.1] @Transactional

    1. 대체 정책 - 모든 번호에 @Transactional 어노테이션을 사용할 수 있음 - 타깃 오브젝트 메소드인 [5], [6]이 첫번째 후보 - 타깃 클래스인 [4]이 두번째 후보 - 인터페이스 메소드인 [2], [3]이 세번째 후보 - 인터페이스인 [1]이 네번째 후보 - 세밀한 정책을 이용하고 싶을때는 타깃클래스와 메소드에 걸어두는게 좋음 - 여러 클래스에 한번에 적용하고 싶을때는 인터페이스를 이용하면 효율적임 [1] public interface Service{ [2] void method1(); [3] void method2(); } [4] public class ServiceImpl implements Service { [5] public void method1(){ } [6] public ..

    [토비의 스프링 - Vol.1] xml 트랜잭션 설정 방법

    기본적으로 필요한 정보 (dataSource, transactionManager 필요) 1. bean으로 설정하는 방법 PROPAGATION_REQUIRED,readOnly PROPAGATION_REQUIRED 2. tx와 aop태그를 이용하는 방법 (*beans 태그에 tx, aop관련 설정이 있어야한다) ....