호기심 많은 개발자 🚀

Spring 본문

WEB/Spring

Spring

🤗 현우 🤗 2022. 2. 3. 16:21

게빌환경

  1. Eclipse + spring 환경 구축
  2. Eclipse + Add-on(Plug-in) STS 설치
  3. STS(Stan-alone) > b와 동일

https://spring.io/tools

기술

  • 전자정부 프레임 워크 > Spring 기반
    a. Spring > 2002
    b. Spring Boot > 2014년 출시

기본 구조

  1. src/main/java
    • 여태까지 사용하던 java 소스폴더(src)
  2. src/main/resources
    • Java 소스이외의 자원을 넣는 폴더
    • 설정파일 등
  3. src/test/java
    • JUnit 등 테스트용 소스 폴더
  4. src/test/resources
    • JUnit 등 테스트용 소스 폴더
  5. JRE System Library
    • JRE jar
  6. Maven Dependencies
    • 메이븐 (빌드도구 + 라이브러리 관리도구 등)
    • 메이븐 라이브러리
    • jar 관리목적
  7. src
    • 1~6까지의 실제폴더(물리적 표현)
    • src > main > webapp
      • Dynamic Web Project 구조와 동일
    • src > main > webapp < WEB_INF
      • classes : 컴파일한 실행 결과물 저장 폴더 > 건드리지 않음
      • speing : 스프링 환경 설정
        • root-context.xml : 스프링 전체 환결 설정
        • appSwervlet > servlet-context.xml : 요청 환경 설정
      • views : 뷰폴더
  8. target
    • 사용안함..
  9. pom.xml
    • 메이븐 설정 파일
    • 라이브러리 관리 파일

스프링 프레임 워크 , Spring Framework

  • https:// spring.io
  • spring3.xx ~ 5.xx
  • 스프링 프레임워크는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다.
  • 전자 정부 표준 프레임워크로 채택
  • 세팅된 개발 환경 제공 + 생상성 + 개발 편의성 + 유지 / 보수성 + 협업 + 대형화 프로젝트 등..
  • 스프링 프레임워크 구성 요소*
  1. 의존성 주입 지원 (DI)
  2. 관점 지향 프로그래밍 지원(AOP)
  3. Spring MVC 지원(***)
  4. 레이아웃 지원 (Tiles)
  5. 데이터 베이스 연동 지원
    • JDBC 연동
    • Spring, JDBC 연동
    • ORM 등 .. 지원
    • MyBatis 연동

스프링 DI

  • Dependency Injection
  • 의존(성) 주입
  • 스프링에서 아주 중요한 개념 중 하나
  • 디자인 패턴중 하나를 스프링에서 구현한 기술
  • 프로그래밍에서 구성요소간의 의존 관계가 소스 내부가 아닌 외부 환경에 의해서 정의되게 하는 디자인 패턴
  • 하나의 객체가 기능을 실행하기 위해 반드시 다른 특정 객체가 필요한 경우 , 그 특정 객체를 자신이 직접 생성하지 않고
    외부로 부터 건내받아 생성하는 경우를 의존주입이라고 한다.
Tip : spring 으로 테마 설치시 설치가 안되는 경우 window > preferences > install/update > verify provisioning ..... 체크해제

스프링에서 객체 생성시 xml을 사용할 수 있다. html과 사용법을 비슷하지만 class에 java class 주소를 적고 id나 name로 불러오는 방식이다.

<bean id ="hong" class="com.test.spring.di02.Hong"></bean>

xml을 이용해서 의존 관계 관리시 java 보다 더 쉽게 관리할 수 있다.

EX

    <bean id = "d" class = "com.test.spring.di04.DDD"></bean>

    <bean id="c" class = "com.test.spring.di04.CCC">
        <constructor-arg ref="d"></constructor-arg>
    </bean>

    <bean id="b" class = "com.test.spring.di04.BBB">
        <constructor-arg ref = "c"></constructor-arg>
    </bean>

    <bean id="a" class = "com.test.spring.di04.AAA">
        <constructor-arg ref="b"></constructor-arg>
    </bean>

'WEB > Spring' 카테고리의 다른 글

JPA(ORM)  (0) 2022.04.25
Spring Tiles  (0) 2022.02.08
RequestMapping  (0) 2022.02.07
Spring AOP  (0) 2022.02.07
Comments