반응형

개발/java 15

[Spring 기본] 3. Spring 프레임워크 사용하기

1. 스프링 컨테이너 ApplicationContext = 스프링 컨테이너 @Configuration annotation이 붙은 AppConfig 를 구성정보로 사용한다. AppConfig 에서 @Bean 어노테이션이 뭍은 메소드를 모두 호출해서 반환된 객체를 스프링 컨테이너에 등록한다B. 이렇게 스프링 컨테이너에 등록된 객체를 스프링 빈이라고 한다. 따라서 AppConfig 에서 객체를 찾아오는 대신, 스프링 컨테이너에서 필요한 스프링 빈(객체)를 찾아야 한다. AppConfig에서 MemberService 의 구현체를 반환하는 메소드 applicationContext.getBean(, 반환받을 클래스 타입) 함수로 스프링을 받아온다. 2. 스프링 컨테이너 생성 스프링 컨테이너가 생성되는 과정 Appl..

개발/java 2023.12.21

Input 찬찬히 뜯어보기. (BufferedReader와 InputStreamReader?)

Java 에서 Input을 받기 위한 방법 1. BufferedReader Class 서론 저는 C, C++ 로 코드를 많이 짭니다. C, C++은 몇 단계만 거치면 바로 시스템 콜로 read, write 호출하는게 보여서 어떻게 동작하는지 아는게 쉬웠는데 java 는 왜 버퍼를 만들까… 하는 답답함이 있었습니다. 그래서 시간을 내어 원리를 파악하는 시간을 가졌습니다. 1. BufferedReader Class BufferedReader class 는 문자들의 연속을 입력받을 때 사용하는 간단한 클래스입니다. 코딩 테스트에서 속도를 빠르게 한다고 하여 많이 사용하는 클래스입니다. 보통 이런식으로 사용됩니다. BufferedReader 클래스는 안에 InputStreamReader를 반드시 사용해야할까요?..

개발/java 2023.12.11

[Spring 기본] 2. 실제 코드에서의 스프링 프레임워크 핵심 원리

1. 그냥 java 코드를 사용할 때 객체 지향의 원리에 맞게, 역할과 구현을 나누어 분리해봅시다. 회원 가입을 위한 요구사항을 만족하는 프로그램을 먼저 작성해봅시다! 회원 도메인 도메인 간 협력관계 : 기획자와 개발자가 모두 합의하에 참고하는 문서입니다. 클래스 설계 : 개발자가 전체적인 클래스를 설계합니다. public interface MemberService { void join(Member meber); Member findById(int id); } public class MemberServiceImpl implements MemberService { private MemberRepository memberRepository = new MemoryMemberRepository(); //실제 구..

개발/java 2023.12.08

[Spring 기본] 1. 객체 지향 설계와 스프링

어떻게 스프링이 등장하게 되었는지 짤막하게 정리한 글입니다. 실제로 '봄'이라는 뜻에서 spring 이라는 이름을 갖게 되었다는 것이 인상깊었습니다. EJB 지옥 - 예전 개발자들에게 있어 사용하던 EJB는 이론은 좋았으나 구현은 너무 힘들었다고 합니다. 그래서 자바로 돌아가자는 움직임이 생겼습니다. EJB에서 Entity Bean - ORM 기술을 사용중이었는데요, 너무 힘들어하던 개발자 2명이 각각 오픈소스를 개발했습니다. Hibernate : EJB 엔티티빈 기술을 대체. JPA 새로운 표준 정의 Spring framework : EJB 컨테이너 대체, 단순함. 사실상 표준 기술 그 후 EJB에서는 Hibernate 를 만든 개발자 데려와서 JPA를 만들었습니다. JPA: 표준 인터페이스를 만들고,..

개발/java 2023.12.08

JUnit

#개발 #java #테스트코드 정의: Java 생태계에서 제공하는 단위 테스트 프레임워크 (추가적으로 보고 싶은: - [Using Gradle in the Eclipse IDE](https://www.vogella.com/tutorials/EclipseGradle/article.html)) Junit Junit 테스트는, 테스트 목적으로 만들어진 클래스 내에서 @Test 어노테이션이 붙은 메소드이다. 기대값과 실제 값을 비교하는 assert 구문을 이용하여 테스트를 할 수 있다. 특히 실패했을 경우 @DisplayName 어노테이션을 통해, 출력하는 메시지를 정하여 보다 수월하게 확인할 수 있다. 예시 코드 package com.vogella.junit5; import static org.junit.ju..

개발/java 2023.11.03
728x90
728x90