Programming/JAVA17 InputStream / OutputStream(byte단위) InputStream(입력스트림)과 OutputStream(출력스트림)은 기본 스트림으로 byte 단위로 데이터를 다룬다. FileInputStream / FileOutputStream파일로부터 데이터를 읽기/쓰기 위한 입력/출력용 기본 스트림바이트 단위의 입력/출력을 처리하므로 이미지나 오디오 파일과 같은 이진 파일을 다룰 때 유용하다. InputStream이 추상 클래스는 바이트(Byte) 입력 스트림을 나타내는 모든 클래스의 슈퍼 클래스다.하위 클래스에는 FileInputStream, ByteArrayInputStream이 있음(xxxInputStream 식으로 표현됨) FileInputStream: 기존 파일과 연결된 입력 스트림 객체를 생성 FileInputStream(File fil.. 2024. 6. 11. 스프링 빈과 의존관계(Dependency Injection) ✨ 스프링 빈(Bean)을 등록하는 데는 크게 2가지 방법이 있다. 1. 컴포넌트 스캔(Component Scanning) @Service, @Repository, @Controller 등과 같은 어노테이션을 사용하여 클래스를 빈으로 등록한다. (해당 어노테이션들은 @Component를 포함하고 있음) 이 방법은 클래스에 어노테이션을 붙이면 스프링이 자동으로 해당 클래스를 찾아서 빈으로 등록하는 방식이다. @Service public class MyService { //... } 🍅 여기서 잠깐! @Autowired라는 어노테이션을 사용하려면, 기존 컨트롤러,서비스,레포지토리에도 각각 @Controller,@Service,@Repository 어노테이션을 사용해줘야 한다. 그렇지 않을시 해당 클래스들은 .. 2024. 1. 12. 테스트 케이스 - assertThrows assertThrows는 JUnit 5에서 제공하는 메서드로, 특정 예외가 발생하는지 테스트하는 데 사용된다. 특히 메서드가 예외를 던지는 것을 예상하고, 해당 예외가 실제로 발생하는지 테스트할 때 유용하게 사용되는 특징이 있다. import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertThrows; public class MyServiceTest { @Test public void testDivideByZero() { MyService myService = new MyService(); // 특정 메서드 호출 시 ArithmeticException이 발생하는지 확인 assertThrows(Arithmet.. 2024. 1. 9. AfterEach 어노테이션 사용법 TestCase는 작성한 각각의 테스트들을 class 단위로 한 번에 테스트 할 수 있다는 장점이 있다. 그러나, 테스트의 순서는 보장되지 않아 한 번에 돌리는 경우 무작위로 테스트 된다는 단점도 공존한다.🤨 (따라서 순서에 의존적으로 설계하면 안됨!) 그래서 테스트가 하나 끝나면 clear해줘야 하는데, 그럴 때 사용하는 것이 바로 AfterEach 어노테이션이다. @AfterEach (AfterEach 어노테이션) : 해당 어노테이션을 사용하면 각각의 테스트 메소드가 실행된 후에 정리 작업이나 공통적인 후처리 작업을 수행할 수 있다. import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.Test; import static org.j.. 2024. 1. 4. 테스트 케이스 - Assertions 스프링부트 프로젝트를 하면서 테스트 케이스를 작성할 때 사용하는 메서드 중의 하나인 Assertions의 두 가지 버전에 대해 설명하고자 한다. ☝️ Assertions (org.junit.jupiter.api 패키지 제공) : 테스트 케이스를 작성할 때, JUnit과 함께 자주 사용되는 것 중 하나인 Assertion 테스트 결과를 검증하고 예상 값과 실제 값이 일치하는지 확인하는 데 사용된다. import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.*; public class MyServiceTest { @Test public void testAddition() { MyService myService = new.. 2024. 1. 4. Getter & Setter Getter & Setter 📝 예제코드 static class MyClass { private String className; public String getClassName() { return className; } public void setClassName(String className) { this.className = className; } } 예제를 보면 인텔리제이에서 ‘MyClass’라는 클래스를 만들고 Alt + Insert를 클릭하면 Getter and Setter를 선택할 수 있다. Getter and Setter를 선택하면 상단의 소스 코드처럼 Get과 Set이 자동으로 세팅 된다. 이걸 자바 빈(Bean) 규약이라고 하는데, className 같은 경우 private이기 때문에 외.. 2023. 12. 19. 이전 1 2 3 다음