Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- jdbc
- SQL
- html이란?
- it국비교육 후기
- 깃허브로협업
- DriverManager
- HTML태그종류
- html
- 멀티캠퍼스후기
- github 커밋하는 방법
- 소프트웨어생명주기
- it국비교육 비전공자
- Class.forName
- 비전공자 java
- github
- Git
- it국비교육 비전공자 후기
- jdbc driver
- Connection
- html태그
Archives
- Today
- Total
이 코드는 뭘까
Spring의 개념 본문
🌟Spring이란?
- JAVA 언어를 기반으로 사용하는 Web Framework
- JAVA로 다양한 어플리케이션을 만들기 위한 프로그래밍 틀
- JAVA를 이용한 JSP, MyBatis, JPA 등 프로젝트에 쓰이는 기술을 Spring 으로 더 편하게 사용하기 위해 만들어짐
- 중복되는 코드를 줄여주고 비즈니스 로직을 간단하게 해줌
- 오픈소스를 좀 더 효율적으로 가져다 쓰기 좋은 구조
🌟Spring를 사용하는 이유
1) DI (Dependency Injection, 의존성 주입)
- 객체를 내부에서 직접 생성하는게 아니라 외부의 설정파일을 통해 정의되는 방식이다.
- 코드의 재사용성을 높여 소스코드를 다양한 곳에 사용할 수 있고 모듈간의 결합도를 낮출 수 있다.
- 쉽게 말하자면 게임캐릭터 객체와 캐릭터가 사용하는 무기 객체가 있다면 다른 무기로 교체하고 아이템을 변경하는데 어떤 상황에도 구애받지 않는다.
- 필요한 부품을 뺐다 꼈다 하며 적절한 상황에 필요한 기능을 수행할 수 있다.
2) IoC(Inversion of Control, 제어 반전)
- 개발자가 직접 객체를 생성, 호출하는게 아니라 컨테이너가 대신 해주는것을 의미한다.
- 프로젝트 규모가 커지면서 객체와 자원을 이용하는 방법이 복잡해지고 코드가 어디서 오류가 날지 모르는 상황을 Spring과 IoC에서 자동관리 해준다.
- 즉, 제어권은 개발자가 아닌 IoC가 가지고 있으며 IoC 개발자의 코드를 호출하고 생명주기를 제어한다.
3) AOP(Aspect Object Programming, 관점 지향 프로그래밍)
- 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어보고 그 관점을 기준으로 모듈화 하는 것이다.
- 클래스들을 여러개 만들어 놓으면 중복되는 코드들이 많아지는데, 코드가 중복되는 기능들을 전부 뒤로 빼둔 뒤 필요할때만 호출해서 사용한다면 효율성이 좋아진다.
- 즉, AOP는 여러 객체에 공통적으로 적용할 수 있는 기능을 구분하여 코드의 재사용성을 높혀주는 프로그래밍 기법이다.
'Back-end > Spring' 카테고리의 다른 글
프레임워크(Framework) (0) | 2022.08.20 |
---|
Comments