더보기
세션 | 수강여부 | 기한 | |
1강 | 스프링 개요 | O | - |
2강 | 개발 환경 구축 | O | - |
3강 | 스프링 프로젝트 생성 | O | - |
4강 | 처음해 보는 스프링 프로젝트 | O | - |
5강 | 또 다른 프로젝트 생성 방법 | O | - |
6강 | DI(Dependency injection) | O | - |
7강 | 다양한 의존 객체 주입 | O | - |
8강 | 스프링 설정 파일 분리 | O | 12/23 |
9강 | 의존 객체 자동 주입 | O | 12/23 |
10강 | 의존객체 선택 | O | 12/24 |
11강 | 생명주기 Life Cycle | O | 12/24 |
12강 | 어노테이션을 이용한 스프링 설정 -1 | O | 12/27 |
13강 | 어노테이션을 이용한 스프링 설정 -2 | O | 12/27 |
14강 | ***웹 프로그래밍 설계 모델*** | O | 12/28 |
15강 | 스프링 MVC 웹서비스 | O | 12/28 |
16강 | STS를 이용하지 않은 웹 프로젝트 | O | 12/29 |
17강 | Service & Dao 객체 구현 | O | 12/29 |
18강 | Controller 객체 구현 | O | 12/30 |
19강 | Controller 객체 구현 | O | 12/30 |
20강 | 세션, 쿠키 | O | 12/31 |
21강 | 리다이렉트, 인터셉트 | O | 12/31 |
22강 | Database | O | 1/2 |
23강 | JDBC | O | 1/2 |
24강 | JdbcTemplate | O | 1/3 |
25강 | 커넥션풀 | 1/3 |
1-1 스프링 프레임워크
스프링 프레임워크의 주요기능은 DI, AOP, MVC, JDBC 등을 제공한다.
1-2 스프링 프레임워크 모듈
스프링 모듈 | 기능 |
spring-core | 스프링의 핵심인 DI(Depnedency Injection)와 IoC(Inversion of Control)를 제공한다. |
spring-aop | AOP구현 기능 제공 |
spring-jdbc | 데이터베이스를 쉽게(적은 양의 코드)다룰 수 있는 기능 제공 |
spring-tx | 스프링에서 제공하는 트랜잭션 관련 기능 제공 |
spring-webmvc | 스프링에서 제공하는 컨트롤러(Controller)와 뷰(view)를 이용한 스프링MVC 구현 기능 제공 |
스프링 프레임워크에서 제공하는 모듈을 사용하려면, 모듈에 대한 의존설정을 개발 프로젝트에 XML 파일등을 이용해 개발자가 직접 하면된다.
1-3 스프링 컨테이너(IoC)
스프링에서 객체를 생성하고 조립하는 컨테이너(container)로, 컨테이너를 통해 생선된 객체를 빈(Bean)이라고 부른다.
1) 객체생성 및 속성 데이터 작성
2) 스프링 컨테이너에서 객체 생성 및 조립
3) 애플리케이션 구현
필요할 때마다 스프링컨테이너에서 기능을 빼서 쓰는 개념이다.sprin
(2강 개발환경설정)
3-1 프로젝트 생성
groupId와 artifactId
groupId | 큰 프로젝트 단위 | 지하철(1~9호선) |
artifactId | 세부 프로젝트 단위 | 1호선, 2호선, 3호선... |
3-2 pom.xml 작성
pom.xml
필요한 모듈을 가져오는 기능
3-3 폴더 및 pom.xml 파일의 이해(기본 폴더 디렉토리)
- src/main
- src/main/java
- 특별한 것은 없고, 앞으로 만들어지는 자바 파일들이 관리되는 곳이다.
- src/main/resource
- 자원을 관리하는 폴더로 스프링 설정파일(XML) 또는 프로퍼티 파일 등이 관리된다.
- src/main/java
- src/test
4-1 처음해보는 스프링 프로젝트
java 객체생성 및 Bean 생성
기존 java 객체 생성
//기존 자바 객체생성 (main)
TranspotationWalk transpotationWalk = new TranspotationWalk();
transpotationWalk.move();
//TranspotationWalk
public void move(){
System.out.println("도로로 이동 합니다.");
}
Spring Bean이용 IoC생성
//XML Bean 추가
<bean id="tWalk" class ="testPjt.TranspotationWalk"/>
//main
GenericXmlApplicationContext ctx = new GenericXmlApplicationContext("classpath:applicationContext.xml");
TranspotationWalk transpotationWalk = ctx.getBean("tWalk",TranspotationWalk.class);
transpotationWalk.move();
ctx.close();
6-1 DI(Dependency Injection) 의존성 주입
배터리 일체형 : 의존성 없음 / 배터리가 떨어지면 새로 구입해야한다.(비효율)
public class ElectronicCarToy{
private Battery battery;
public ElectoincCarToy(){
battery=new NormalBattery();//객체 생성될때 new해준다.
}
}
배터리 분리형1 : 초기에는 배터리X, 사용자가 넣어줘야함(의존성 주입)
public class ElectronicCarToy{
private Battery battery;
public ElectoincCarToy(){
}
//setter
public void setBattery(Battery battery){
this.battery = battert;
}
}
배터리 분리형2 : 초기에 배터리O, 사용자가 배터리 교체(의존성 주입)
public class ElectronicCarToy{
private Battery battery;
//생성자
public ElectoincCarToy(){
this.batter=battery;
}
//setter
public void setBattery(Battery battery){
this.battery = battert;
}
}
같은 DB 사용하기(DAO 의존성 주입)
public StudentAssbler(){
studentDAO = new StudentDAO(); //DAO 생성=DB
registerService = new registerService(studentDAO);
modifyService = new ModifyService(studentDAO);
deleteService = new DeleteService(studentDAO);
selectService = new SelectService(studentDAO);
allSelectService = new AllSelectService(studentDAO);
}
studentDAO를 각각의 객체에 주입함으로써 같은 DB를 공유한다. 만약 각각의 객체에서 studentDAO를 생성했다면 각각 다른 DB를 사용하는 것이다.
상기 코드를 Spring ApplicationContext화 하겠다. IoC(제어의 역전) 사용하기
//applcationContext.xml
//studentDao Bean 생성
<bean id ="studentDao" class="ems.member.dao.StudentDao"> </bean>
//의존성 주입
<bean id ="registerService" class="ems.member.service.StudentRegisterService">
<constructor-arg ref="studentDao"> </constructor-arg>
</bean>
.
.
.
7강 다양한 의존 객체 주입
스프링의 의존 객체를 주입하는 다양한 방법
java | spring | 비고 | |
7-1 생성자를 이용한 의존 객체 주입 | 1) 네이밍이 중요하다 첫 글자는 무조건 소문자이다. | ||
7-2 setter를 이용한 의존 객체 주입 | 1) 첫 글자는 소문자 2) setter의 set을 제외시킨다. 3) 보통 db연동에서 많이 쓰인다.(초기화) |
||
7-3 List타입 의존 객체 주입 | 객체를 리스트로 받는 경우도 있다. 그런 경우 사용한다. | ||
7-4 Map타입 객체 주입 | 객체를 map(key,value)형식으로 받는 경우도 있다. 그런 경우 사용한다. |
'Spring > [인프런] Spring FrameWork' 카테고리의 다른 글
어노테이션을 이용한 스프링 설정 -1 (0) | 2021.12.27 |
---|---|
생명주기(Life Cycle) (0) | 2021.12.24 |
의존객체 선택 (0) | 2021.12.24 |
의존객체 자동 주입 (0) | 2021.12.23 |
스프링 설정 파일 분리 (0) | 2021.12.23 |