(spring) 1. 쌍용 교육 Day1
세팅
- lombok 설정
- sts 설정 및 마켓 플레이스 STS 3~4 업데이트
- 환경변수 세팅
MAVEN_HOME
을 세팅 해준다.. PATH에도 경로 설정 하고 상위 단으로 올려준다! 왜?? - pom.xml 수정
빌드 자동화 도구
- 소스를 컴파일, 테스트해줌
- 메이븐이나 그레들은 설정해주지 않으면
src/main/java/
,src/main/resources/
경로에 세팅- java : 컴파일이 필요한 파일
- resources : 컴파일되지 않는 자원들
- 두 폴더 경로의 파일을 maven이 빌드하여 합쳐준다.
- ant
- Maven
.m2/repository
공유 라이브러리를 보관해줌 제대로 다운로드 되지 않으면 다 날려야한다!!
- Gradle
Spring의 주요 특징
IOC (제어역전)
- 서비스를 연동하고 싶을 때 spring이 제공하는 기능을 사용하기 위해…
- Interface로 구성… 클래스를 직접 호출하지 않아야 한다..
- Ioc Container (IOC 컨테이너): 요청하지 않아도 객체를 만들어서 넘겨준다 => dependency injection 의존성 주입을 하게 된다.
- 객체생성
- getBean으로 객체를 생성하게 될 때 기본적으로 싱글턴 패턴이 적용된다.
properties 설정파일
- 인터페이스 상속 받는 객체를 생성할 경우
new
키워드는 쓰이면 안된다.(추상화를 위해…) - 객체명을 propertis 파일로 만들어 두고, FileinputStream을 사용해서 읽어와서
Class.forname(type)
- 코드가 아니고 설정 파일이기 때문에 수정사항을 마음껏 수정할 수 있다.(빌드를 할 필요가 없다.)
Spring Annotation
@Autowired
: 자동 의존성 주입 설정@Qualifier
: 의존성 주입 대상 빈을 명시적으로 지정
MVC 패턴
Model
- FrontController : 모든요청이 한 Controller(servlet) 에 집중하여 처리
- 요청분석해서 처리기(Controller) 선택
- 처리기 호출
- View 선택
- View 호출
- PageController : 각 요청마다 Controller 구성
의존성 주입 실습
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="home" class="com.demoweb.controller.HomeController"></bean>
<bean id="account_register" class="com.demoweb.controller.RegisterController">
<property name="memberService" ref="memberService"/> <!-- Setter에 주입해주기 위해 property 사용 -->
<!-- autowire 사용시 생략! -->
</bean>
<bean id="memberService" class="com.demoweb.service.MemberService">
<property name="memberDao" ref="memberDao"></property>
</bean>
<bean id="memberDao" class="com.demoweb.dao.MemberDao"></bean>
<bean id="account_login" class="com.demoweb.controller.LoginController">
<property name="memberService" ref="memberService"></property> <!-- -->
</bean>
</beans>
댓글남기기