본문 바로가기

분류 전체보기

[spring] 의존성 주입 (스프링 핵심 원리-기본편 from 김영한 강사님) System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다."); Dependancy Injection(의존성 주입) : 하나의 객체가 다른 객체의 의존성을 제공하는 테크닉. 클라이언트가 어떤 서비스를 사용할지 지정해주기 보다 무슨 서비스를 사용할 것인지 말해주기. - 의도 객체의 생성과 사용의 관심을 분리 - 키워드 @Autowired - 사용성 레고블럭처럼 모듈들을 변경하며 사용할 수 있다. - 장점 - 유연한 구성 가능성, 재사용성, 테스트가능성, 유가능성 - 종류 - 생성자 주입, 수정자 주입, 필드 주입, 일반 메서드 주입 생성자 주입 - 사용방법 생성자에 @Autowired 붙여줌 - 사용성 - 생성자 호출 시점에 오직 1번만 수행됨. - 불변의 의존관.. 더보기
[spring] 컴포넌트 스캔 (스프링 핵심 원리-기본편 from 김영한 강사님) System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다."); 컴포넌트 스캔 : @Component 애노테이션이 붙은 것들의 객체들을 자동으로 싱글톤으로 스피링 빈 저장소에 등록해줌 사용 방법 - @ComponentScan 애노테이션을 설정 정보에 붙여준다. @Configuration @ComponentScan( basePackages = "hello.core.member", basePackageClasses = AutoAppConfig.class, public class AutoAppConfig { //@Bean 으로 등록 } - 사용할 클래스에 @Component 애노테이션을 붙여준다. @Component public class MemoryMemberRep.. 더보기
[spring] singleton (스프링 핵심 원리-기본편 from 김영한 강사님) System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다."); 싱글톤 (singleton) : SW 디자인 패턴중 하나. 생성자가 여러 차례 호출되도 실제로 생성되는 객체는 하나이고, 최초 생성 이후에 호출된 생성자는 최초의 생성자가 생성한 객체를 리턴. - 싱글톤의 문제점 - 짧게 말해, 유연성 부족. - 클라이언트가 구체 클래스에 의존한다. => DIP 위배 => OCP 위배 - 테스트가 어렵다. - 자식 클래스를 만들기 어렵다. 출처 - 싱글턴 패턴 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) 싱글턴 패턴 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. ko.wikipedia.org 기존의 패턴 public cla.. 더보기
[spring] spring 조회 (스프링 핵심 원리-기본편 from 김영한 강사님) System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다."); https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55337&tab=curriculum 빈 이름으로 조회하기 ac.getBean(이름, 타입) AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test void findBeanByName() { MemberS.. 더보기
[spring] spring 등록, 조회 (스프링 핵심 원리-기본편 from 김영한 강사님) System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다."); https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55337&tab=curriculum 요약 : 스프링 컨터에너에 객체를 스프링 빈으로 등록하고, 스프링 컨테이너에서 스프링 빈을 찾아서 사용하도록. 스프링 컨테이너에 등록 1. AppConfig클래스에서 @Configuration 을 붙여 설정 정보로 사용한다. 2. 메서드에 @Bean 을 붙여준다 -> 해당 메서드들은 모두 호출되.. 더보기
[spring] DI(의존 관계 주입) (스프링 핵심 원리-기본편 from 김영한 강사님) @SpringBootApplication public class DependancyinjectionsampleApplication { public static void main(String[] args) { SpringApplication.run(DependancyinjectionsampleApplication.class, args).getBean(DependancyinjectionsampleApplication.class).excute(); } @Autowired Greet greet; private void excute() { greet.greeting(); } }​ System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다."); // https://www... 더보기
[spring] 프로젝트 시작 (스프링 핵심원리 - 기본편 from 김영한 강사님) System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다."); // https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55337&tab=curriculum 프로젝트 셋팅 1. 스프링 부트를 이용해 시작. (https://start.spring.io) - spring boot 버전은 안정적인 최하위 버전을 선택 (높은 버젼은 Java11과 호환이 안된다.) - Java 버젼은 11 1-1. 아래 GENERATE 버튼을 눌러 zip 파일을 다운 .. 더보기
[Java] 래퍼 클래스 Wrapper class Wrapper Class (래퍼 클래스) : 기본 데이터 타입을 객체로 다룰 수 있도록 감싸주는 클래스. - 사용성 - 객체지향 프로그래밍의 개념과 기능을 기본 데이터 타입에 적용할수 있다. - 종류 int Integer char Character float Float double Double boolean Boolean ... - 예 ServerSocketsocket = new ServerSocket(Integer.parseInt(txtPortNumber.getInt())); // socket이라는 이름의 서버소켓 객체를 생성, 포트 번호를 지정. // Integer.parseInt(str) --> 문자열을 정수로 변환하는 메서드 더보기