[Java] 문자열을 XML 파일로 생성하기 + DOM 객체를 파일로 저장하는 방법(DomSource, TransformerFactory, Transformer)
·
TIL/Java
DOM 객체를 수정, 추가, 삭제하는 것은 모두 메모리상에서 이루어진다. 이렇게 메모리상에서 변경된 내용을 영구 보존하기 위해서는 다시 파일 형태의 XML 문서로 저장해야 한다. XSLT 변환기를 사용하여 파일로 다시 저장하는 방법을 알아보자~ 노드를 생성하기 위한 메서드(Document 객체의 팩토리 메서드) 메소드 설명 Element createElement(String tagName) Element 객체를 생성 Attr createAttribute(String name) Att 객체를 생성 Text createTextNode(data) Text 객체를 생성 Comment createComment(data) Comment 객체를 생성 CDATASection createCDATASection(data)..
[SIST] Spring_days02_자바 코드를 이용한 DI 설정 / 애노테이션을 이용한 자동 의존 주입 / 컴포넌트 스캔
·
TIL/Spring
days01에 사용했던 RecordImpl과 RecordViewImpl 사용 1. 자바 코드를 이용한 DI 설정 자바 코드를 이용한 설정은 XML을 이용한 설정보다 더 직관적이다. @Configuration 애노테이션과 @Bean 애노테이션을 사용하면 된다. @Configuration 애노테이션은 클래스를 스프링 설정으로 사용함을 의미 @Bean 애노테이션은 메서드의 리턴 값을 빈 객체로 사용함을 의미한다. 클래스를 스프링 설정으로 사용하려면 AnnotationConfigApplicationContext 클래스를 이용해야한다. 예제) Config.java 클래스 파일을 설정 파일로 사용한 스프링 컨테이너(@Configuration과 @Bean 어노테이션을 사용) [Config.java 클래스] 1) Co..
[Java_Error] java.util.NoSuchElementException
·
Trouble Shooting(Error)
- 에러메시지 : Exception in thread "main" java.util.NoSuchElementException at java.util.LinkedList.removeFirst(Unknown Source) at java.util.LinkedList.remove(Unknown Source) - 해석 : 더 이상 검색해서 가져올 수 있는 요소가 없다. [remove() - 요소를 가져온 뒤 제거, 없을 시 예외 발생] String sName = (String) q1.remove(); System.out.println(sName); // 청하 sName = (String) q1.remove(); System.out.println(sName); // 이병헌 sName = (String) q1.rem..
[Java_Error] NullPointerException
·
Trouble Shooting(Error)
클래스를 사용할 때 가장 많이 발생되는 오류 > 에러메시지 : java.lang.NullPointerException > 오류 발생 원인 : Heap(동적 메모리) 영역에 인스턴스가 생성되지 않아서 발생 > 해결방안 : 인스턴스 생성 Tv t1 = null; // 객체 선언 코딩 // t1.channel = 11; // 객체 생성을 하지 않고 값을 넣으면 에러 발생 t1 = new Tv(); // 인스턴스화(객체 생성)하는 코딩 // new 연산자로 인해 Heap 영역에 Tv 객체를 생성하고 =(대입연산자)를 통해 주소를 참조
[Java] char배열과 String 클래스의 변환_new String() / toCharArray()
·
TIL/Java
1. toCharArray(); String을 char 배열로 변환시 사용 2. new String(); char배열을 String으로 변환시 사용 코드 예제)
[Java] 배열 관련 코드예제와 Arrays.toString() / System.arraycopy()
·
TIL/Java
1. Arrays.toString() 메서드 ㄱ. 기능 : 배열의 참조변수 값을 String (ex. [1요소 , 2요소, 3요소..])으로 가져오는 기능 * Arrays.toString() 사용하기 위해서는 util을 import 해야한다. > import java.util.Arrays; 2. char[] : 배열은 syso로 출력하면 각 요소가 구분자없이 그대로 출력 3. System.arraycopy() 메서드 ㄱ. 기능 : 배열을 복사하는 기능 ㄴ. 매개변수 : 옮길 배열명, 인덱스, 옮겨지는 배열명, 인덱스, 옮길 배열의 길이(배열명.length) ex) import java.util.Arrays; public class Pr16 { public static void main(String[] a..
[Java] System.in.read() / System.in.skip() / System.in.available()
·
TIL/Java
1. System.in.read() - 기능 : 입력스트림(키보드)로 부터 입력된 값을 1바이트로 읽어서 0 ~ 255의 정수를 int 값으로 반환해 준다. - 매개변수 : X - 리턴값(리턴자료형) : 0~255(int) * read는 한 문자만 읽어온다. * 더 이상 가져올 값이 없으면 -1을 반환한다. 2. System.in.skip() - 기능 : 키보드에 남아있는 buffer(버퍼)를 매개변수만큼 버려준다. - 매개변수 : long n - 리턴값(리턴자료형) : 매개변수로 받은 값만큼 건너뛰고 난 수 3. System.in.available() - 기능 : 키보드에 남아있는 모든 버퍼를 버린다. - 매개변수 : X - 리턴값(리턴자료형) : 남아있는 모든 버퍼를 버리고 난 수 코드 예제) pac..
[Java] 대소문자 구별없이 비교하기 : equalsIgnoreCase()
·
TIL/Java
자바에서 문자열을 비교할 때는 equals(); 메서드를 사용한다. 만약, 대소문자 구별없이 비교를 하고싶으면 equalsIgnoreCase(); 메서드를 사용하면된다. 사용방법은 equals(); 메서드와 동일하다. 간단한 예제는 아래와 같다. // 결과 : true
[Java] 복제와 참조
·
TIL/Java
아래 코드는 복제와 참조에 관련된 간단한 코드이다. runValue 메소드를 실행하면 결과는 1이 나오고, runReference 메소드를 실행하면 결과가 2가 나온다. 21행을 살펴보면 변수 b에 담긴 인스턴스의 id 값을 2로 변경했을 뿐인데 a.id의 값도 2가 된 것이다. 변수 b와 변수 a에 담긴 인스턴스가 서로 같다는 것을 의미한다. * 자바에서는 int와 같이 기본 데이터 타입은 복제를 한다. 기본 데이터 타입이 아닌 것은 참조가 되어 참조 데이터 타입이라고 하며, new 사용해서 객체를 만다는 모든 데이터 타입은 참조 데이터 타입이라고 생각하자! 아래 코드는 메소드의 매개변수는 어떻게 동작하는지 살펴보는 코드이다. 먼저, 4행 ~ 12행의 코드를 살펴보자 메소드 _value의 매개변수는 기..