(spring) 1. 쌍용 교육 Day1

1 분 소요

세팅

  1. lombok 설정
  2. sts 설정 및 마켓 플레이스 STS 3~4 업데이트
  3. 환경변수 세팅 MAVEN_HOME을 세팅 해준다.. PATH에도 경로 설정 하고 상위 단으로 올려준다! 왜??
  4. pom.xml 수정

빌드 자동화 도구

  • 소스를 컴파일, 테스트해줌
  • 메이븐이나 그레들은 설정해주지 않으면 src/main/java/ , src/main/resources/ 경로에 세팅
    • java : 컴파일이 필요한 파일
    • resources : 컴파일되지 않는 자원들
    • 두 폴더 경로의 파일을 maven이 빌드하여 합쳐준다.
  1. ant
  2. Maven
    • .m2/repository 공유 라이브러리를 보관해줌 제대로 다운로드 되지 않으면 다 날려야한다!!
  3. 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) 에 집중하여 처리
    1. 요청분석해서 처리기(Controller) 선택
    2. 처리기 호출
    3. View 선택
    4. 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>

댓글남기기