Dependency Injection Injection 방법생성자 주입생성자 호출시점에 딱 1번 호출되는 것이 보장됨불변, 필수 의존관계 가능@Componentpublic class BeanTestImpl{ private final BeanTest beanTest; // 생성자가 딱 1개일경우 @Autowired 를 생략해도 된다. public BeanTestImpl( BeanTest beanTest ) { this.beanTest = beanTest; }}수정자 주입 (setter)선택, 변경이 가능하다@Componentpublic class BeanTestImpl{ private final BeanTest beanTest; @Autowi..
@Component 컴포넌트 스캔@Component 를 지정해주면, 따로 Config에 작성해서 @Bean 으로 등록해주지 않아도, 자동으로 spring이 bean으로 등록해준다.@Componentpublic class BeanTest implements BeanInterface{}@Componentpublic class BeanTestImpl{ private final BeanInterface beanInterface; // 자동으로 @COMPONENT가 붙은 정보가 주입됨 // BeanTest 클래스가 beanInterface에 주입됨 @Autowired public BeanTestImpl(BeanInterface beanInterface){ re..
Spring 컨테이너 (+ 싱글톤) Spring 컨테이너Spring 컨테이너는 빈을 저장하기 위한 컨테이너라고 보면 됨주로 AppConfig로서 작성이 됨방식 -> XML , JAVA 코드, ... (여러 방법으로 AppConfig를 이룰 수 있음)ApplicationContext || BeanFactory 라고도 불리움 싱글톤인스턴스를 1개를 만들어서 서로 공유하는 목적 ( 무분별한 인스턴스 생성을 방지할 수 있다)생성방법public class SingletonTest{ // 인스턴스 생성 (1개) -> 구체 클래스 (SingleTest)에 의존하게 됨 private static final SingletonTest instance = new SingletonTest(); ..
Spring Bean Bean FactoryBean의 최상위 계층의 인터페이스 [순서] 1. Bean Factory2. ApplicationContext3. AnnotationConfigApplicationContext대부분 bean에 있어 Bean Factory 내부에 기능들이 존재Bean Factory 또는 기능을 상속받은 ApplicationContext를 "스프링 컨테이너"라고 일컫음 Bean 확인 메서드AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class);전체 조회조회타입 조회public static void main(String [] args){ A..
Spring Container Spring Containerspring 컨테이너는 Config를 담당하는 역할spring 컨테이너는 Config 방식으로 "어노테이션 기반 config" 와 "xml기반 Config"로 구성가능AnnotationContexthttps://docs.spring.io/spring-framework/docs/6.1.12/javadoc-api/org/springframework/context/annotation/AnnotationConfigApplicationContext.htmlClassPathXmlApplicationContexthttps://docs.spring.io/spring-framework/docs/6.1.12/javadoc-api/org/springframewo..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bTg4CK/btsI9GRJain/I0EGEMD3njEkKCXTdzynO0/img.jpg)
회원 예제 기획회원 저장 로직회원 저장회원 조회저장 방법메모리 저장DB 저장 구조도SOLID 규칙 적용멤버import lombok.Getter;import lombok.Setter;@Getter@Setterpublic class Member { private Long id; private String name; private Grade grade; public Member(Long id, String name, Grade grade){ this.id = id; this.name = name; this.grade = grade; }} 멤버서비스 인터페이스public interface MemberService { void join(Mem..
- Total
- Today
- Yesterday
- 기술면접
- DFS
- 티스토리챌린지
- 백준
- Spring
- 검증
- 클래스
- HTML5
- 게시판
- 알고리즘
- 오블완
- 포트폴리오
- 우선순위 큐
- BFS
- Java
- JDBC
- 타입변환
- SQL
- db
- 버블정렬
- 이진탐색
- stack
- JSON
- 예외처리
- 코딩테스트
- bean
- 깊이우선탐색
- 정렬
- 게시판 프로젝트
- Thymeleaf
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |