Spring FrameWork

채종윤·2023년 8월 22일
0

1. 스프링구조

1) maven:빌드 툴, 라이브러리(.jar) 정보도 관리해줌, xml설정기반, 복잡


Gruop Id: 실제 회사이름,조직이름

2) 사용할 라이브러리 명과 버전기술

ex ) maven project-> spring 검색 -> 맨위 -> 5.3.29다운
-> pom.xml-> dependenices -> add-> group id ,art id, version복사해서 ok

3) 스프링 프레임워크는 객체 등록제로 운영

Dto, service, IO, UI 중에 Dto 뺀 나머지 클래스들은 반드시 등록하여 사용해야 한다
Dto는 데이터를 담는 객체라서 필요한 만큼 생성해야 함. 등록 안하고 사용
나머지 클래스 종류들은 기능을 사용하기 때문에 등록 후 사용해야 한다
등록하면 1개만 만들어 공유하기 때문에 효율적인 관리가 가능

4) 스프링 프레임워크 개발 순서

  1. 서비스 클래스 작성
  2. Xml또는 Annotationㅇ로 등록
    3) Main에서 검색 후 사용

5)

public class SpringMain {

	public static void main(String[] args) {
		HelloService hs = new HelloService();
		String msg = hs.hello();
		System.out.println(msg);

	}

}

최종적으로 HelloService를 실행한다는 가정하에 new HelloSerive()는 스프링에서 관리

ServletContext : 서블릿 환경정보, 서버이름, 서버버전, 위치
context -> 환경정보
ApplicationContext : 어플 환경정보

서비스 클래스 등록하는 방법

  1. XML파일
  2. @Configuration 클래스

1) XML 파일작성

	ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
    

2) xml설정파일 읽기

beans.xml를 읽어서 애플리케이션 환경정보를 만들겠다는 뜻
beans.xml안에는 내가 사용할 클래스들이 저장되어있음 (HelloService 등등)

3) Main

public class SpringMain2 {
		public static void main(String[] args) {
			// xml설정파일 읽기
			ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
		    
			//설정파일에서 HelloService 검색
			Mycalc mc = context.getBean(Mycalc.class);
			
		
			//서비스 메소드 호출
			int result = mc.plus(3,4);
			System.out.println(result);
		}

}

4) beans.xml

<?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은 자바 객체 -->
<bean id="id2" class="spring01.Mycalc">
	
</bean>

</beans>

5)Mycalc.java

public class Mycalc {
	public int plus(int i, int j) {
		return i+j;
	}
}

1) Annotation 파일 작성

AppContext.java

@Configuration
public class AppContext {
	
	@Bean //자바클래스로 빈(클래스) 등록
	public HelloService hello() {
		return new HelloService();
	}
	
	@Bean
	public Mycalc plus() { //메소드이름 무관
		return new Mycalc();
	}
}

2) Main 작성

public class SpringMain2 {
		public static void main(String[] args) {
			
			ApplicationContext context = new AnnotationConfigApplicationContext(AppContext.class);
		    
			//설정파일에서 HelloService 검색
			Mycalc mc = context.getBean(Mycalc.class);

			//서비스 메소드 호출
			int result = mc.plus(3,4);
			System.out.println(result);
		}
}
profile
안녕하세요. 백앤드 개발자를 목표로 하고 있습니다!

0개의 댓글