목록전체 글 (114)
suyeonme
scanner는 키보드와 연결된 표준 입력 스트림(system.in)에서 문자나 숫자를 꺼내는 장치 역할을 한다. 이 때 system.in은 키보드와 연결된 표준 입력 스트림(standard input stream)이다. import java.util.Scanner public class A { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); scanner.nextInt(); } } 자료형에 따른 Method method data type Description nextBoolean() boolean nextByte() byte nextShort() short nextInt() int nextLong() l..
Scope란 bean이 존재할 수 있는 범위를 의미한다. 아래와 같이 @Scope 애노테이션을 사용하여 bean의 스코프를 지정할 수 있다. @Scope("prototype") @Component public class BeanTest() Scope의 종류 스프링에서 지원하는 스코프의 종류는 아래와 같다. 1. Singleton (default) 2. Prototype 3. Web 관련 1. Singleton Scope 기본(default) 스코프로, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프이다. 스프링 빈(bean)을 등록하면 기본적으로 싱글톤 스코프이다. 빈(bean)을 조회하면 스프링 컨테이너는 항상 같은 인스턴스의 스프링 빈을 반환한다. 스프링 컨테이너 생성 시점에 초기..
Controller와 관련있는 자주 사용할 것 같은 애노테이션을 정리했다. @RequestMapping Controller에서 들어온 http request를 method와 매핑(mapping)하게 위해 사용한다. @RequestMapping(value = "URI", method = RequestMethod.GET) @RequestMapping({ "/members", "member_list" })와 같이 복수개의 URL을 등록할 수 있다. method를 지정하지 않으면 모든 요청에 대해서 호출된다. @RestController public class MemberController { @RequestMapping(value = "/member", method = RequestMethod.GET) pub..
1. Dependency Injection(DI)이란? 스프링 컨테이너가 스프링 빈(bean)간의 의존 관계를 외부에서 주입해주는 것을 말한다. 의존 관계 주입을 하기 위해서는 먼저 스프링 컨테이너에 스프링 빈으로 등록해야한다. 스프링에서 제공하는 DI를 사용하지 않으면, 개발자가 직접 의존 관계가 있는 클래스들을 new 키워드를 사용하여 일일이 연결해야하는데 이는 매우 번거롭다. // new 키워드 사용 public class MemberService { private MemberService memberRepository = new MemberRepository(); } // 스프링의 DI 사용 @Service public class MemberService { private final MemberR..
1. Spring Container란? xml이나 annotation등을 사용하여 bean을 생성한다. 스프링 컨테이너는 Bean에 의존성을 주입(dependency injection)한다. 스프링 컨테이너는 인스턴스의 생명주기(생성~소멸) 및 의존성을 관리한다. 따라서 개발자는 비즈니스 로직에만 집중할 수 있다. 2. Spring Bean이란? 스프링 컨테이너가 생성한 객체를 Bean 이라고 한다. 스프링은 스프링 컨테이너에 빈(bean)을 등록할 때 기본적으로 Singleton Scope로 등록한다. 따라서 스프링 빈은 기본적으로 싱글톤(Singleton)이다. 따라서 한개의 인스턴스이며 전역에서 공유된다. 2.1 스프링 컨테이너에 Bean 등록 스프링 컨테이너에 빈을 등록하는 방법은 크게 두가지이다..
자바의 빈 클래스의 특징은 아래와 같다. 1. 데이터 표현을 목적으로 하는 클래스 (getter, setter) 2. Bean Factory라고도 불리운다. 3. Java Beans Convention을 지켜야 한다. 1. 클래스는 인자(Argument)가 없는 기본 생성자(Default constructor)를 갖는다. 2. 클래스의 멤버 변수는 프로퍼티(Properties)라고하며 private 접근 제한자를 가져야 한다. 3. 클래스의 프로퍼티들은 Getter/Setter를 통해 접근할 수 있어야 한다 4. Getter의 이름은 get{프로퍼티 이름} 이며, Setter의 이름은 set{프로퍼티 이름}이다 5. Getter/setter의 접근 제한자는 public이어야 한다. 6. 프로퍼티의 타입이..
1. TSDoc이란? TSDoc은 타입스크립트 코드에서 사용되는 doc comments로 , API 문서를 작성하고 코드에 대한 메타 데이터를 정의할 수 있다. 타입스크립트는 정적 타이핑을 제공하기 때문에 TSDoc을 사용하면 코드에 대한 디테일을 수월하게 기술할 수 있다. VScode에서 TSDoc 을 지원하므로 TSDoc의 태그를 사용하여 커멘트를 남기면, 하이라이팅이 되어 손쉽게 커멘트를 식별할 수 있으며 코드에 대한 힌트를 얻을 수 있다는 장점이 있다. 규칙은 아래와 같다. 커멘트는 /**로 시작한다. 태그는 @를 사용한다. (e.g. @returns) 2. 태그(Tag) 종류 태그를 사용하여 커멘트의 사용 용도를 분류할 수 있다. 자주사용할 것 같은 태그를 정리하였다. @deprecated 더이..