Framework & Library/Spring

[Spring] Spring Framework 개념, 특징

지윤공원🌳 2021. 7. 1. 05:45
728x90

Spring Framework

Spring Framework는 Java 엔터프라이즈 개발을 편리하게 해주는 오픈소스 경량 프레임워크입니다.

Spring Framework 로고

+ 프레임워크 (Framework) : 라이브러리와 동일시 되는 경우가 있지만, 프레임워크는 규약을 가지는 뼈대 코드의 모임을 말합니다. 

+ 라이브러리 (Library) : 프로그램 개발을 도와주는 도구입니다. 모듈의 모음이라고 할 수 있습니다. 

 

Spring Framework 의 주요 특징

① IOC (Inversion Of Controll)

IOC는 한국어로 제어의 역전이란 뜻입니다.

프로그램 제어를 개발자가 하는 것이 아니라 Spring Framework가 합니다. 외부 라이브러리 코드가 개발자의 코드를 호출하는 것이죠. 사용할 객체, 즉 bean을 개발자가 생성, 선택하는 것이 아니기에 제어의 역전이라고 부릅니다. 

 

② DI (Dependency Injection)

DI는 한국어로 의존성/종속성 주입입니다. 

객체 A에게 필요한 또 다른 객체 B를 외부에서 주입시킵니다.

코드 재사용성이 높아지고 결합도가 낮아집니다. 유연한 객체 지향 프로그래밍이 가능합니다. 

보통 생성자 메서드나 setter메서드를 사용하여 DI를 구현합니다. 

 

③ AOP (Aspect Oriented Programming)

AOP는 한국어로 관점 지향 프로그래밍입니다. 

개발자가 비즈니스 로직에만 신경쓸 수 있도록 프로그램을 바라보는 관점별로 나누어서 프로그래밍하는 방식입니다. 

유지보수가 편리하고 코드의 수정이 적습니다. 

 

④ POJO 클래스 (Plain Old Java Object)

POJO 클래스는 멤버변수와 setter/getter 메서드만을 가지는 클래스입니다.

다른 클래스를 상속받거나 인터페이스를 implement하지 않는 기본 기능을 가진 객체를 만드는 클래스입니다. 

 

POJO 클래스 예시

public class MainClass {
	// 멤버변수
	private String name;
	private int age;
	
	// setter/getter 메서드
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}

 

MyBatis 라이브러리로 DB 사용

MyBatis는 SQL문을 XML에 정의해두어 값만 바꿔주어 사용할 수 있도록 도와주는 라이브러리입니다. 

SQL문을 수정할 일이 적고 가독성이 좋습니다. 

기존 JDBC 연동 코드보다 짧습니다.

 

 

감사합니다 😊

 

 

참고한 자료

https://namu.wiki/w/Spring(%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC)

https://shlee0882.tistory.com/200

https://velog.io/@msriver/Spring-2%EC%9E%A5-%EC%8A%A4%ED%94%84%EB%A7%81%EC%9D%98-%ED%8A%B9%EC%A7%95%EA%B3%BC-%EC%9D%98%EC%A1%B4%EC%84%B1-%EC%A3%BC%EC%9E%85

728x90