@Component - [ @Component 설정]
20강. [Component] [@Bean으로 빈 등록 VS @Component 빈 등록] -@Bean : 개발자가 Class의 코드를 수정할 수 없는 경우 사용 : 같은 클래스 타입의 Bean을 여러 개 등록할 경우 사용 -@Component : 개발자가 Class의 코드를 수정할 수 있는 경우 사용 컴포넌트 스캔 cf. 의존 자동 주입: 이미 빈 객체이지만 설정 코드에 따로 주입되지 않았을 때 사용 [컴포넌트 스캔] - 스프링이 (아직 빈 객체X) 직접 클래스 검색해서 빈으로 등록해주는 기능 - 설정 클래스에 빈으로 등록하지 않아도 원하는 클래스를 빈으로 등록 - 스프링이 따로 검색해서 빈 등록해주므로 설정 코드가 줄어든다. ▶[스캔 대상 지정 ] | @Component -클래스에 @Component..
- Web(웹)_관련 공부 모음/[강의] SpringFramework
- · 2022. 2. 16.
@어노테이션 - [Annotation 활용하기]
[ Annotation 활용하기 ] -우리는 지금까지 beans.xml 파일 내부에서 빈 객체를 생성/등록하고 java 코드에 해당 파일을 가져와서 사용했다. -이제 beans.xml 파일에 등록했던 내용을 java 파일로 작업하는 방법에 대해 살펴본다. -xml과 java파일의 차이 : xml은 값을 정해줘야 함 : java 파일은 코드를 자유롭게 작성 O 15강. [Java 코드 활용하는 Bean 등록] [@Configuration] -@Configuration 어노테이션은 현재의 자바파일(.class)이 빈 등록을 위한 자바 파일임을 알려준다. [Spring Context 생성] ClassPathXmlApplicationContext ctx = newClassPathXmlApplicationCont..
- Web(웹)_관련 공부 모음/[강의] SpringFramework
- · 2022. 2. 14.
스프링 DI - [Dependency Injection]
[의존성 주입] : DI (Dependency Injection) -Bean 객체 생성 시, 해당 Bean 객체가 관리할 값이나 객체를 주입해주는 것 의미 -Bean 객체 생성 후, Bean 객체가 가질 기본 값을 xml코드에서 주입해주는 개념 -객체 간의 의존을 주입한다는 것. 11강. [생성자를 통한 주입] [생성자를 통한 주입] -Bean 정의할 때, 태그 이용해서 값을 주입 value : 기본 자료형 값과 문자열 값 설정 ref : 객체를 설정 type : 저장할 값의 타입 설정 index : 지정된 값을 주입할 생성자의 매개변수 인덱스 번호 [객체 주입] 1) 직접 객체 생성하여 객체 주입하기 2) 이미 존재하는 객체를 ref 속성으로 지정하여 주입하기 kr.co.softcampus.config..
- Web(웹)_관련 공부 모음/[강의] SpringFramework
- · 2022. 2. 12.
스프링 IoC [Inversion of Control]
7강. [IoC 컨테이너] -IoC(Inversion of Control); 제어 역전 -프레임워크가 객체 제어권을 가지는 것 의미(원래는 개발자가 객체 제어권 가졌음) -개발자가 객체 생성 등 관련 코드를 설정 파일에 작성하면 이를 토대로 프레임워크가 해당 객체를 생성,반환하고 동작 순서를 결정하는 등. 객체 제어를 직접 수행함 [IoC 컨테이너 종류] BeanFactory(예전 버전) : 클래스를 통해 객체를 생성하고 전달함 : 상속 등 객체 간의 관계를 형성/관리함 : Bean에 관련된 설정을 위한 xml 파일은 즉시 로딩. 객체는 개발자가 요구할 때 생성. ex) XmlBeanFactory ApplicationContext(현재 버전) : 클래스를 통해 객체를 생성하고 전달함 : 상속 등 객체 간..
- Web(웹)_관련 공부 모음/[강의] SpringFramework
- · 2022. 2. 11.
Maven 기반-[기본 스프링 프로젝트 생성]
- 기존의 객체지향(JAVA) 불편함 확인 [다형성 문제점] -객체 생성 코드를 모두 찾아서 변경해야 한다.(유지보수 어려움) -다형성 개념을 활용한 기존 클래스가 변경되었을 때 참조 변수 선언 부분은 수정하지 않아도 되지만 어쨌든 객체 생성 부분 코드를 모두 찾아서 변경되어야 하는 불편함 존재 [스프링 프레임워크] -스프링 프레임워크 적용 시 자바코드 작성 부분 확연히 줄어드는 효과 큼 -다만, 초기 프로젝트 셋팅 복잡 1) xml 사용하는 방법 2) 자바 @애노테이션 사용하는 방법 ▶[Maven] -자바 프로젝트 빌드 자동해주는 도구 -개발자가 (.xml) 에 작성한 프로젝트 정보를 토대로 컴파일하고 라이브러리 연결 지원 [스프링 프로젝트 생성] -관련 프로젝트 정보 추가하고 저장하는 순간 -> 작업..
- Web(웹)_관련 공부 모음/[강의] SpringFramework
- · 2022. 2. 11.
ch17. 프로필과 프로퍼티 파일
ch17. 프로필과 프로퍼티 파일 1. [프로필] ▶[설정 클래스에서 프로필 지정] : @Profile(“__”) 활성화한 프로필에 따라 어떤 빈을 사용할지 달라진다. @Configuration @Profile(“dev”)//‘dev’ 프로필 활성화public class DsDevConfig { @Bean public DataSource dataSource() { .... } } ▶[특정 프로필 선택] : 순서 지키지 않으면 익셉션 발생함 **➀ setActiveProfiles(“_”) : 프로필 지정** **➁ register( ) : 선정 파일 목록 지정** **➂ refresh() : 컨테이너 초기화**▶[@Configuration 이용 프로필 설정] 중첩된 @Configuration 설정 이용 -..
- Web(웹)_관련 공부 모음/[개념]_스프링 5 프로그래밍
- · 2022. 2. 7.
ch16. JSON 응답과 요청 처리
📌 참고 도서 : 스프링5 프로그래밍 입문 - 최범균 저 ch16. JSON 응답과 요청 처리 💡 스프링 MVC 사용하면 웹 요청에 대한 응답/웹 요청 시, HTML 대신 JSON 데이터로 보낼 수 있다. 1. [JSON 개요] ▶[JSON (Java Script Object Notation) ] 간단한 형식 문자열 데이터 교환 시 사용 ▶[JSON 규칙] 객체 표현 : { }중괄호 사용 개별 객체 : (이름 : 값) 쌍 배열 표현 : [ ]대괄호 사용, 콤마로 값 목록 구분하여 전달 특수문자 표현 : (역슬랙시) 이용 | \“, \n, \r, \t { "name" : "유관순" , "age": "17" , "related":["남동순", "류예도"] //배열 } 2. [JSON 의존 설정] -스프링 M..
- Web(웹)_관련 공부 모음/[개념]_스프링 5 프로그래밍
- · 2022. 2. 7.
ch15. 간단한 웹 어플리케이션 구조
1. [간단한 웹 어플리케이션 구성 요소] [프론트 서블릿] [컨트롤러 + 뷰] [서비스] [DAO] ▶[프론트 서블릿] : 요청 받는 창구 -웹 브라우저의 모든 요청 받는 창구 역할 -스프링 MVC에서는 DispatcherServlet = 프론트 서블릿 역할 수행 -웹 브라우저의 요청 분석 후 -> 알맞은 컨트롤러에 전달 ▶[컨트롤러 + 뷰] : 기능을 실행 -> 결과 전달 -웹 브라우저가 요구한 기능 실행 -응답 결과 생성에 필요한 모델 생성 -응답 결과 생성할 뷰 선택 -컨트롤러는 웹 브라우저의 요청을 처리에 알맞은 기능을 실행 후 그 결과를 뷰에 전달 ▶[서비스] : 실질적 기능 자체 -기능 로직을 구현함 -실질적으로 기능 제공 위한 로직을 직접 수행 -핵심 로직 -기능에 DB 연동 필요하면 DA..
- Web(웹)_관련 공부 모음/[개념]_스프링 5 프로그래밍
- · 2022. 2. 3.
ch10. 스프링 MVC 프레임워크 동작 방식
참고 도서 : 스프링5 프로그래밍 입문 - 최범균 저 ch10. 스프링 MVC 프레임워크 동작 방식 [스프링 MVC 핵심 구성요소와 각 요소 간의 관계] 중앙의 DispatcherServlet은 모든 연결을 담당 ➀ 웹브라우저 -> DispatcherServlet 요청 -웹브라우저로부터 요청이 들어오면 그 요청을 처러하기 위한 컨트롤러 객체를 검색하기 위해 DispatcherServlet은 HandlerMapping 빈 객체에게 컨트롤러 검색을 요청함 ➁ HandlerMapping은 클라이언트의 요청 경로를 이용하여 이 요청 경로를 처리할 컨트롤러 빈 객체를 찾고 다시 DispatcherServlet에게 전달 ➂ DspatcherServlet은 HandlerMapping이 찾아준 컨트롤러 객체를 처리할 ..
- Web(웹)_관련 공부 모음/[개념]_스프링 5 프로그래밍
- · 2022. 1. 31.
ch09. 스프링 MVC 시작하기
참고 도서 : 스프링5 프로그래밍 입문 - 최범균 저 ch09. 스프링 MVC 시작하기 -스프링이 지원하는 웹 MVC 프레임워크 [MVC 패턴] -대화형 애플리케이션을 3개의 서브 시스템으로 구조화한 패턴 -Model-View-Controller 패턴 [Spring MVC] 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. 소프트웨어의 비즈니스 로직과 화면을 구분하는데 중점을 둔다. 간단하게 Model, View, Controller로 분리하여 개발하는 디자인 패턴이다. ▷Model 데이터와 비즈니스 로직을 관리한다. 애플리케이션이 포함해야할 데이터가 무엇인지를 정의한다. 일반적으로 POJO로 구성된다. ▷View 레이아웃과 화면을 처리한다. 애플리케이션의 ..
- Web(웹)_관련 공부 모음/[개념]_스프링 5 프로그래밍
- · 2022. 1. 31.
ch08. DB 연동
참고 도서 : 스프링5 프로그래밍 입문 - 최범균 저 ch08. DB 연동 [JDBC 단점 보완하는 스프링] - 이용 시 불필요하게 구조적 코드 중복 多 - 이용 시 직접 수동 커밋 모드에서 커밋, 롤맥 처리 해야 됨. -스프링은 JdbcTemplate 클래스 제공-> 구조적 반복 줄임 -스프링은 @Transactional을 트랜잭션 적용 메소드에 붙임 -> 스프링이 알아서 커밋과 롤백 처리O. -> 코드 작성 시, 핵심 코드만 집중하여 작성 O [DB 연동에 필요한 모듈 추가] : pom.xml 파일에 추가해야 할 모듈 spring-jdbc : DB연동에 필요한 기능 제공 (jdbcTemplate 제공) tomcat-jdbc : DB 커넥션풀 기능 제공 (DataSource 제공) mysql-conne..
- Web(웹)_관련 공부 모음/[개념]_스프링 5 프로그래밍
- · 2022. 1. 28.
ch07. AOP 프로그래밍
참고 도서 : 스프링5 프로그래밍 입문 - 최범균 저 ch07. AOP 프로그래밍 [AOP 위한 프로젝트 준비] -스프링이 AOP 구현 시 사용하는 모듈 aspectjweaver 추가해야 한다. -메이븐 pom.xml 파일에 aspectjweaver 의존 추가해야 한다, - aspectjweaver 모듈은 AOP 설정에 필요한 애노테이션 제공하므로 반드시 추가해야 한다. 스프링 프레임워크의 AOP 기능은 spring-aop모듈이 제공하지만, spring-context모듈을 의존 대상에 추가해놓음녀 sop모듈도 함께 의존대상에 포함되므로 spring-aop 모듈에 대한 의존을 따로 추가하지 않아도 된다. [a! 팩토리얼 재귀함수로 구현] : 실행 시간 구하기 -실행 시간 기본 매커니즘은 메소드의 실행 전,..
- Web(웹)_관련 공부 모음/[개념]_스프링 5 프로그래밍
- · 2022. 1. 27.
ch06. 빈 라이프사이클과 범위
참고 도서 : 스프링5 프로그래밍 입문 - 최범균 저 ch06. 빈 라이프사이클과 범위 [스프링 컨테이너 라이프사이클] : 생명주기 : 컨테이너 초기화 -> 사용 -> 컨테이너 종료 //1. 컨테이너 초기화 AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(설정클래스.class); //2. 컨테이너에서 빈 객체 구해서 사용 Greeter g = ctx.getBean("greeter", Greeter.class); ... (빈 객체 사용) //3. 컨테이너 종료 ctx.close(); ➀ 스프링 컨테이너 초기화 -AnnotationConfigApplicationContext의 생성자를 이용해 컨테이너 객체 생성 시..
- Web(웹)_관련 공부 모음/[개념]_스프링 5 프로그래밍
- · 2022. 1. 27.
ch05. 컴포넌트 스캔
참고 도서 : 스프링5 프로그래밍 입문 - 최범균 저 ch05. 컴포넌트 스캔 cf. 의존 자동 주입: 이미 빈 객체이지만 설정 코드에 따로 주입되지 않았을 때 사용 [컴포넌트 스캔] - 스프링이 (아직 빈 객체X) 직접 클래스 검색해서 빈으로 등록해주는 기능 - 설정 클래스에 빈으로 등록하지 않아도 원하는 클래스를 빈으로 등록 - 스프링이 따로 검색해서 빈 등록해주므로 설정 코드가 줄어든다. ▶[스캔 대상 지정 ] | @Component -클래스에 @Component 붙이면, 해당 클래스는 스캔 대상이 됨 -@Component에 값을 주면 빈 자동 등록될 이름 지정됨 ① @Component : 값을 주지 않으면 public class Apple { } -> 클래스 이름 첫 글자 소문자로 바꾼 이름 = ..
- Web(웹)_관련 공부 모음/[개념]_스프링 5 프로그래밍
- · 2022. 1. 26.
ch04. 의존 자동 주입
참고 도서 : 스프링5 프로그래밍 입문 - 최범균 저 ch04. 의존 자동 주입 *3장은 명시적 의존 주입 (=설정 클래스에서 생성자 or set() 으로 의존 주입 코드 직접 작성) *4장은 자동 의존 주입 (=@Autowired) 사용 -> 스프링 컨테이너가 알아서 해당 타입 빈 객체 가져옴 [의존 자동 주입] -스프링이 자동으로 의존하는 빈 객체를 주입해주는 기능 -설정 클래스에 의존 주입하지 않아도 스프링이 타입 일치하는 의존 빈객체 찾아서 주입 -의존 자동 주입 설정 : @Autowired or @Resource 사용 [@Autowired 이용 의존 자동 주입] -의존 주입 대상에 @Autowired 붙이면 된다. -@Autowired를 필드나 set메소드에 붙이면 스프링은 타입이 일치하는 빈 ..
- Web(웹)_관련 공부 모음/[개념]_스프링 5 프로그래밍
- · 2022. 1. 26.