22.06.02 스프링으로 들어오니까 어질어질하는 구만...
: 뼈대를 이루는 코드들의 묶음
# Spring3 - 전자정보프레임워크(국가에서지정), Spring할 수 있으면 boot는 자동~. 5버전까지 나와있고 우리는 5버전을 사용.
# Spring boot2 - Spring과구조는 같은데 생산성을 올린 형태
POJO (Plain Old Java Object) 기반의 프레임워크
: 자바 개게의 라이프사이클을 스프링 컨테이너가 직접 관리하며, 스프링 컨테이너로부터 필요한 객체를 얻어 올 수 있습니다.
DI (Dependency Injection)을 지원 (의존성주입)*
: 각 계층이나 서비스들 사이 또는 객체들 사이에 의존성이 존재할 경우 스프링 프레임워크가 서로를 연결 시켜줍니다. 이는 클래스들 사이에 약한 결합을 가능케 합니다. 모든 객체는 모두 의존관계이다.
AOP (Aspect Oriented Programming)를 지원(관점지향 프로그래밍)
: 트랜잭션, 로깅, 보안 등 여러 모듈에서 공통적으로 지원하는 기능을 분리하여 사용할 수 있습니다.
확장성이 높다.
스프링 프레임워크의 소스는 모두 라이브러리로 분리시켜 놓음으로써 필요한 라이브러리만 가져다 쓸수 있습니다. 그리고 많은 외부 라이브러리들도 이미 스프링 프레임워크
Model2 방식의 MVC Framework를 지원
window -> preferences -> encoding 검색 -> workspace에 text file encoding - orher눌러서 utf-8변경 , css,html,jsp 다 utf-8로 변경
Maven Project -> create a simple project체크 -> next -> Group Id (도메인주소 거꾸로 작성한것) Artifact Id(나머지경로) -> finish
pom.xml 파일은 메이븐 설정파일로 메이븐은 라이브러리를 연결해주고, 빌드를 위한 플랫폼이다.
-> 한마디로 메이븐을 이용하면 라이브러리를 설정으로 바로 사용 할 수 있다
<dependencies>
<!-- Spring-context 모듈 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.18</version>
</dependency>
<!-- jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<!-- build 설정(java버전) -->
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>utf-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
프로젝트의 JRE라이브러리 버전이 메이븐 설정파일에 명시되
어 있는 버전과 일치하지 않아서 발생하는 것으로 프로젝트를
업데이트하라고 나온다.
Maven Update를 설정 : 프로젝트 우클릭 -> Maven -> Update Project..
단축키 : alt+F5
<script>
public class SpringTest {
public void hello() {
System.out.println("스프링 객체 주입 테스트: 안뇽~~~ ");
}
}
</script>
<script>
public class HelloSpring {
public static void main(String[] args) {
//평소에 쓰던 객체 사용 방식. 객체생성해서 메서드 호출
SpringTest st = new SpringTest();
st.hello();
}
}
</script>
//DI설정 추가
<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">
<!-- 스프링 컨테이너 내에 디자인한 객체 클래스를 등록
id="이름" class="클래스위치" -->
<bean id="test" class="basic.SpringTest"/>
<script>
//스프링에서 사용하는 방식.
//classpath: == src/main/resources
GenericXmlApplicationContext ct =
new GenericXmlApplicationContext("classpath:test-config.xml");
SpringTest st = ct.getBean("test", SpringTest.class);
//등록된 bean객체의 id,SpringTest.class모양으로 가지고 와라.
st.hello();
ct.close();
</script>