[TOC]
인프런 자바 스프링 프레임워크
** 예제 코드 사용을 위해서 항상 Maven 으로 import해줘야한다.
** Intellij에서 폴더에서 import하는거 찾아야겠다.
DI: dependency injection
AOP: 관점 지향 프로그래밍, 공통된 부분을 뽑아서 따로 관리, 주요부분만 코딩
MVC: model view control
JDBC: java database connector
spring-core
spring-aop
spring-jdbc
spring-tx
spring-webmvc
스프링컨테이너 ioc : 스프링에서 객체를 생성하고 조립하는 컨테이너로, 컨테이너를 통해 생성된 객체를 **빈(Bean)**이라고 부른다.
- 스프링 프로젝트 생성
eclipse에서
Maven project 생성
group id - 전체 프로젝트를 감싸는 이름
Artifact id
- pom.xml 작성
버전 맞추기
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>testPjt</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
</project>
-
applicationContext
-
DI 설정
Back spring
src/
main/
java/ 자바파일 관리
resources/ 자원을 관리, 스프링 설정 파일
pom.xml 파일이란 메이븐 설정파일로, 메이븐은 라이브러리를 연결해주고, 빌드를 위한 플랫폼이다.
Front vue
npm install -g vue-cli
vue init webpack my-project // CLI 2 버전
** 항상 node 10이상버전 유지로 에러해결
nvm install v10.15.1
// 터미널을 새로 열때마다 버전 6으로 다시 되돌아가는데,
// 이 부분 수정해야한다. Mac이란..
vue create 프로젝트명 // CLI 3 버전
npm run serve // 서버 열기
- 객체를 모두 독립화 시켜서 유연성 있게 프로그래밍 및 유지보수하는 것이 OOP라고 할 수 있는데,
- 배터리 일체형, 배터리 분리형: 배터리에 의존해서 배터리를 주입
- 어떻게 스프링에서 DI하는가? 스프링 컨테이너 안에서 객체가 서로 주입하고 의존하는 관계를 만든다.
-
constructor-arg에 해당하는 id값을 넣는다.
-
setter를 이용한 의존 객체 주입
-
List타입 의존 객체 주입
-
Map타입 의존 객체 주입
기능별로 xml파일을 구분한다.
####빈(Bean)의 범위
의존객체
스프링 설정 파일에서 의존 객체를 주입할 때 또는 태그로 의존 대상 객체를 명시하지 않아도, 스프링 컨테이너가 자동으로 필요한 의존 대상 객체를 찾아서 의존 대상 객체가 필요한 객체에 주입해 주는 기능이다.
의존객체 자동 주입 방법
@Autowired
&@Resource
어노테이션용
@Autowired
xml사용없이 주입하려는 객체의 타입이 일치하는 객체를 자동으로 주입한다.
@Resource
Conncectionless Protocol
웹서비스는 HTTP 프로토콜을 기반으로 하는데, HTTP 프로토콜은 클라이언트와 서버의 관계를 유지 하지 않는 특징이 있다.
Request
- Response
클라이언트
- 서버
서버의 부하를 중일 수 있는 장점은 있나, 클라이언트 요청 시 마다 서버와 매번 새로운 연결이 생성되기 때문에 상태 유지, 장바구니 등의 기능을 구현하기 어렵다. 이러한 Connectionless Protocol의 불편함을 해결하기 위해 *session(서버에서 관리)*과 *cookie(클라이언트에서 관리)*를 이용