[Spring] @Autowired 의존성주입(DI) 세 가지 방법 -
2022. 11. 7. 14:53
개발/JAVA
회사 코드를 뜯어보는 중인데, 국비 때 배웠던 @Autowired와 다르게 사용되어있어서 어떤차이인지 검색해 보게되었다. @Autowired 어노테이션은 세 가지 방법으로 나뉘어져있다 1. 필드주입 (국비 땐 필드주입만 써봤다) @Service public class OrderService { @Autowired private MenuRepository menurepository; } - 간단하다는 장점이 있지만 final을 사용할 수 없어서 외부에서 변경시킬 가능성이 있다 - 의존관계를 파악하기가 힘들다 - 순환참조 문제는 Spring boot 2.6패치 해결되어 메서드 호출시 cycle이 발생했다고 알려준다 2. 세터주입 @Service public class OrderController{ priva..
[Spring] 스프링이란? 왜 레거시에서 spring boot를 쓰게된걸까?
2022. 11. 3. 18:41
개발/JAVA
스프링을 배울때 스프링 레거시, 스프링 부트 이야기를 많이 듣는다. 국비땐 스프링 레거시밖에 써본적이 없었으나 지금 들어온 회사는 스프링 부트를 사용하는 프로젝트가 있다. 사수님께서 스프링부트 프로젝트 구조를 공부해보면 좋겠다 라고 조언을 해주셔서 공부하는 김에 포스팅도 하게됐다. 스프링? 스프링은 자바에서 가장 많이 쓰이는 동적웹개발 프레임워크이다. - DI, IOC, AOP특성을 이용해 결합도를 낮출 수 있다는 장점이 있다. 스트럿츠, 스프링, 장고, 앵귤러, 닷넷, 리액트, 뷰, 부트스트랩 등의 프레임워크가 있다 스프링과 다른 프레임 워크들의 차이점 - 자바클래스와 인터페이스 이용 - 프로젝트 전체 구조 설계에 유용 - 기본 뼈대를 흔들지 않고 여러 종류의 프레임워크를 혼용하여 사용 가능 ..
[Java] 보조 스트림
2022. 8. 20. 22:37
개발/JAVA
보조스트림? 다른 스트림과 연결이 되어 여러가지 편리한 기능을 제공해주는 스트림 자체적으로 입출력을 수행할 수 없기 때문에 입출력 소스와 바로 연결되는 스트림에 연결해서 입출력을 수행하며, 문자변환, 입출력 성능 향상, 기본타입 입출력등의 기능을 제공 보조스트림 변수 = new 보조스트림(연결스트림); Input Stream is = System.in; InputStreamReader reader = new InputStreamReader(is); BufferedReader br = new BufferedReader(reader); 보조 스트림 생성자 매개값은 또 다른 보조스트림이 될 수 있다 => 보조 스트림 연속 연결이 가능 문자 변환 보조스트림 package a220816; import java.i..
[Java] 입출력 스트림
2022. 8. 16. 12:50
개발/JAVA
스트림(Stream) 자바에서 데이터는 Stream을 통해 입출력된다. 스트림은 단일 방향으로 연속적으로 흘러가는 것을 말하는데, 출발지(입력)에서 도착지(출력)으로 흘러간다. 입출력 스트림의 종류 java.io 패키지에서 제공하는 스트림 클래스 - 바이트 기반 스트림: 그림, 멀티미디어 등의 바이너리 데이터를 읽고 출력할 때 사용 - 문자 기반 스트림: 문자데이터를 읽고 출력할 때 사용 구분 바이트기반 스트림 문자기반 스트림 입력 스트림 출력 스트림 입력 스트림 출력 스트림 최상위 클래스 InputStream OutputStream Reader Writer 하위 클래스(ex) XXXInputStream (FileInputStream) XXXOutputStream (FileOutputStream) XXX..
[Java] 컬렉션 프레임워크 - Map
2022. 8. 14. 17:53
개발/JAVA
Map Key와 Value로 구성된 Map.Entery 객체를 저장하는 구조를 가진 컬렉션 Entry는 Map인터페이스 내부에 선언된 중첩 인터페이스. 여기서 키와 값은 모두 객체 기능 메소드 설명 객체추가 V put(K Key, V value) 주어진 키로 값을 저장 새로운 키일경우 null리턴, 동일키가 있을 경우 값대체 후 이전값 리턴 객체 검색 boolean containsKey(Object key) 주어진 키가 있는지 여부 확인 boolean containsValue(Object value) 주어진 값이 있는지 여부 확인 Set(Map.Entry> entrySet() 키, 값 쌍으로 구성된 모든 Map.Entry객체를 Set에 담아 리턴 V get(Object key) 주어진 키가 있는 값을 리..