호기심 많은 개발자 🚀
Spring 본문
게빌환경
- Eclipse + spring 환경 구축
- Eclipse + Add-on(Plug-in) STS 설치
- STS(Stan-alone) > b와 동일
기술
- 전자정부 프레임 워크 > Spring 기반
a. Spring > 2002
b. Spring Boot > 2014년 출시
기본 구조
- src/main/java
- 여태까지 사용하던 java 소스폴더(src)
- src/main/resources
- Java 소스이외의 자원을 넣는 폴더
- 설정파일 등
- src/test/java
- JUnit 등 테스트용 소스 폴더
- src/test/resources
- JUnit 등 테스트용 소스 폴더
- JRE System Library
- JRE jar
- Maven Dependencies
- 메이븐 (빌드도구 + 라이브러리 관리도구 등)
- 메이븐 라이브러리
- jar 관리목적
- src
- 1~6까지의 실제폴더(물리적 표현)
- src > main > webapp
- Dynamic Web Project 구조와 동일
- src > main > webapp < WEB_INF
- classes : 컴파일한 실행 결과물 저장 폴더 > 건드리지 않음
- speing : 스프링 환경 설정
- root-context.xml : 스프링 전체 환결 설정
- appSwervlet > servlet-context.xml : 요청 환경 설정
- views : 뷰폴더
- target
- 사용안함..
- pom.xml
- 메이븐 설정 파일
- 라이브러리 관리 파일
스프링 프레임 워크 , Spring Framework
- https:// spring.io
- spring3.xx ~ 5.xx
- 스프링 프레임워크는 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다.
- 전자 정부 표준 프레임워크로 채택
- 세팅된 개발 환경 제공 + 생상성 + 개발 편의성 + 유지 / 보수성 + 협업 + 대형화 프로젝트 등..
- 스프링 프레임워크 구성 요소*
- 의존성 주입 지원 (DI)
- 관점 지향 프로그래밍 지원(AOP)
- Spring MVC 지원(***)
- 레이아웃 지원 (Tiles)
- 데이터 베이스 연동 지원
- 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