본문 바로가기
반응형

IT/Java394

implements, extends 실 사용 예제 예전 포스팅에서 자바 상속 관련해서 implements 와 extends 에 대해서 다룬 글이 있다. 자세한 내용은 아래 참고 포스팅을 참고 바란다. implements 의 예제코드와 extends의 예제 코드를 정리해두려고 한다. implements 구현부의 interface 를 만들고 class에서 구현해둔 interface를 상속받아 설계를 할수 있다. 예제 코드는 아래와 같다. //Parent Interface public interface ParentInterface { public void testParentInterface(); } //Child Class public class ChildClass implements ParentInterface{ @Override public void te.. 2023. 9. 27.
Inner Class(이너클래스, 내부클래스) 내부 클래스는 말 그대로 클래스 내부에 클래스를 선언하는것이다. 장점으로는 내부 클래스에서 외부 클래스의 멤버를 쉽게 접근할수 있고, 코드의 복잡성을 줄일수 있다. 간단하게 코드를 먼저 살펴보면 public class InnerClassTest { public static void main(String[] args) { // InnerClassTest 객체 생성 InnerClassTest in = new InnerClassTest(); // InnerClass 객체 생성 InnerClassTest.InnerClass inner = in.new InnerClass(); // InnerClass의 메서드 호출 inner.display(); test(); } private static void test() {.. 2023. 9. 24.
@Resource 관련 이전 포스팅에서 Autowired 관련해서 다룬 글이 있다. 자세한 내용은 아래 참고 포스팅 참고 바란다. 포스팅에서 다룰 Resource 랑 공통점은 의존성을 주입 받기 위한 annotation이다. 그럼 둘의 차이에 대해서 알아보면 Autowired Resource 출처 Spring Framework 표준자바 import org.springframework.beans.factory.annotation.Autowired javax.annotation.Resource bean 검색 시 타입 우선 검색 이름 우선 검색 이름 지정 @Autowired @Qualifier("test") @Resource(name = "test") 의 차이들이 있다. 여기서 주요하게 봐야하는것은 bean 검색시 타입 우선과 이름.. 2023. 9. 22.
[Java] Iterator 이전 포스팅에서 List, Set, Map 에 대해서 다룬 글이 있다. 자세한 사항은 참고 포스팅 참고 바란다. 포스팅에서는 이 컬렉션 프레임워크(Collection Framework) 들에서 공통으로 사용할수 있는 클래스를 설명하려 한다. Util 하위에 있는 Iterator 이다. 사용법은 간단하다. 아래 예시코드로 바로 설명하면 public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("A"); list.add("B"); list.add("C"); HashSet set = new HashSet(); set.add("A"); set.add("B"); set.add("C"); HashMap map = new H.. 2023. 9. 21.
@ExceptionHandler 와 @ControllerAdvice 예외 처리하기 Java에서 기본적으로 예외 처리라고 하면 try catch 를 사용하곤 한다. 자세한 내용은 아래 참고 포스팅에서 참고 바란다. 이번 포스팅에서 다룰 내용은 ExceptionHandler 와 ControllerAdvice 를 사용하여 예외처리 이다. 기존 예외 처리와의 차이점은 try catch 는 비지니스 로직에 녹여 내리는게 대부분이고 오늘 다룰 2가지는 Controller 단에서 사용된다. @ExceptionHandler @ExceptionHandler 는 @Controller, @RestController가 적용된 Bean내에서 발생하는 예외를 잡아서 하나의 메서드에서 처리해주는 기능을 한다. @RestController @RequiredArgsConstructor public class Exc.. 2023. 9. 19.
[JPA] @OneToMany , @ManyToOne JPA 를 사용시 단일 Entity 조회의 경우엔 그냥 사용하면 되지만 다른 테이블과 참조 키가 걸려있거나 Join을 해야하는경우 Entity에서 join하는 특정 테이블을 선언하고 어떤 컬럼과 연관관계인지 명시를 해줘야한다. 일단 Table Name= Grade 순번(pk) 학번 과목 성적 1 111111 수학 A 2 111112 수학 B Table Name= Student 학번 이름 ... 111111 홍길동 111112 이순신 111113 장영실 이렇게 두 테이블이 있다고 가정을 하고 각각 Entity 를 선언해볼것이다. 가독성을 위해 변수명은 한글로 지정할것이다. Grade Table @Getter @Setter @ToString @Builder @AllArgsConstructor @NoArgsC.. 2023. 9. 18.
파일읽기 쓰기 (FileInputStream, FileOutputStream) 자바에서 파일을 읽기위해서는 FileInputStream파일을 쓰기 위해서는 FileOutputStream 를 사용하곤 한다.(다른것들도 있음) 이 두 클래스 이전에 파일 클래스를 알아야한다.File클래스란 import java.io.File 위치에 있다.파일은 기본적이면서도 가장 많이 사용되는 입출력 대상이기 때문에 중요하다. 자바에서는 File클래스를 통해서 파일과 디렉토리를 다룰 수 있도록 하고있다. 그래서 File인스턴스는 파일일 수도 있고 디렉토리일 수도 있다. 그리고 오늘 알아볼 클래스 역시 File과 동일한 위치에 있다.import java.io.FileInputStream;import java.io.FileOutputStream; 기본 사용법은 다음과 같다.파일 생성 및 쓰기public s.. 2023. 9. 16.
.gz 파일 압축 풀기 (GZIPInputStream, GZIPOutputStream) //////////////main 함수 public static void main(String[] args) { String file = "/Users/test/test.txt"; String gzipFile = "/Users/test/test.txt.gz"; String newFile = "/Users/test/test_new.txt"; compressGzipFile(file, gzipFile); decompressGzipFile(gzipFile, newFile); } //////////////압축풀기 함수 private static void decompressGzipFile(String gzipFile, String newFile) { try { FileInputStream fis = new File.. 2023. 9. 15.
JSch 관련 (java 에서 ftp 사용) 자바에서 서버에 붙는 작업을 하기 위해 ftp 를 사용하려 했고, 방법에 대해 공유한다. 먼저 JSch 관련 라이브러리를 받아야한다. com.jcraft jsch 0.1.55 그리고 아래 함수를 사용해서 서버에 connect, disconnect, fileUpload, fileDownload 를 진행하면 된다. connect public void connectSFTP(String host, int port, String userName) throws Exception { JSch jsch = new JSch(); // JSch 세션 객체를 생성 (사용자 이름, 접속할 호스트, 포트 전달) jschSession = jsch.getSession(userName, host, port); // 패스워드 설정시 .. 2023. 9. 14.
반응형