:-)
POJO( Plain Old Java Object ) 기반의 구성
별도의 API가 필요하지 않은 일반적인 자바 코드를 이용하여 개발 가능
의존성 주입(DI)을 통한 객체 간의 관계 구성
AOP(Aspect oriented Programming)지원
반복적인 코드를 줄이고 개발자가 비즈니스 로직에만 집중할 수 있도록 지원함
편리한 MVC구조
WAS(Web Application Server)에 종속되지 않은 개발 환경
(톰캣서버와 같은 다양한 서버 사용가능)
1) loC(Inversion of Control, 제어의 역전) - 객체에 대한 제어권
기존에는 개발자에게 제어권이 있었음 (new 연산자)
객체의 제어권을 스프링에게 넘김
인스턴스의 라이프 사이클(생성부터 소멸까지)을 개발자가 아닌 스프링 프레임 웍이 담당
2) DI(Dependency Injection, 의존관계 주입)
객체 간의 의존성을 개발자가 설정하는 것이 아닌 스프링 컨테이너가 주입시켜 주는 기능
객체를 쉽게 확장하고 재사용할 수 있음
강합 결합도로 설계하면 유지보수 비용이
많이드는 문제점이 발생!!! 주의!!!
** 강한 결합 **
/*
생성자가 private으로 바뀌면
MemberUse 클래스도 수정해야 함
*/
class MemberUse {
public memberUse() {
Member m = new Member();
}
}
public class Member {
String userid;
String passwd;
String name;
private Member() {
}
}
직접 의존하는 객체를 코드에 명시하는 방법(가장 일반적인 방법)
단위 테스트가 어렵고, 의존 객체 변경 시 코드 수정이 불가피함
** 느슨한 결합 **
/*
생성자가 private으로 바뀌어도
MemberUse 클래스에는 영향을 받지 않음
*/
class MemberUse {
public memberUse(Member m) {
}
}
public class Member {
String userid;
String passwd;
String name;
private Member() {
}
}
로깅툴
1) 로깅툴을 사용하는 이유
System.out.println()명령어는 IO리소스를 많이 사용하여 시스템이 느려질 수 있음
로그를 파일로 저장하여 분석할 필요가 있음
2) 로깅툴 종류
commons-loggin
스프링 3에서 사용하던 로깅툴
log4j
효율적인 메모리 관리로 그동안 많이 사용되었음
logback / SLF4J
log4j 보다 성능이 더 우수하여 최근에 많이 사용되고 있음
logback을 사용하기 위한 인터페이스
참조사이트: www.youtube.com/watch?v=RZZ5DQ1wwgU
'웹프로그래밍 무작정따라하기 > JAVA_Spring' 카테고리의 다른 글
[JAVA] for문으로 별찍기 (0) | 2021.02.17 |
---|---|
[Spring] MVC개요 (0) | 2021.01.25 |
[Spring] 프레임워크 - 디렉터리 구조 파악하기 (0) | 2020.12.15 |
[JAVA] 식별자, 변수 기본기 훑기 (0) | 2020.11.05 |
[JAVA] JAVA / Oracle11g / SQL Developer 다운로드 방법 (0) | 2020.11.05 |
댓글