스프링 프레임워크가 무엇인가요?
개발을 배우려고 하는데 스프링 프레임워크란게 있던데 이게 무엇인가요? 자바와 스프링 프레임워크와 어떤 연관이 있나요? 실제 실무에서 많이 사용하나요? 책으로 독학 가능한가요? 자바를 먼저 공부해냐하나요?
Spring은 bean이라는 형태로 클래스,모듈들을 관리하며 dependency(의존성)을 직접 주입해주는 자바의 프레임워크입니다. 말이 좀 복잡하죠^^
이해하기 쉽게 설명하자면, 기존에는 a클래스에서 b클래스를 사용할때 직접 인스턴스를 만들어사용했다면, 스프링은 그 모든 참조될 인스턴스들을 자기가 관리합니다. 그래서 코드 간의 결합력이 떨어지고 보다 더 독립적으로 되죠.
자바를 MVC 패턴으로 사용할 때나 url 매핑할때도 간단해서 실제 실무에서 많이 사용됩니다. 책으로 독학 가능합니다. 책은 토비의 스프링이나 인프런 스프링 강의 추천드립니다
안녕하세요. 아하(a-ha) 프로그래밍 지식 답변자 입니다.
프레임워크는 효율적인 정보시스템 개발을 위해 코드 라이버러리, 애플리케이션 인터페이스 규약, 설정 정보 등의 집합으로 소프트웨어 구성에 필요한 뼈대를 제공해 줍니다.
프레임워크를 사용하게 되면 모듈화 강화, 재사용성, 확장성 등 다양한 이점을 제공합니다.
스프링 프레임워크를 사용하려면 우선 자바를 잘 알고 계셔야 합니다.
답변이 도움이 됐으면 합니다. 좋은 하루 되세요!
안녕하세요. 질문자님
프레임워크라는 개념을 아시면 쉽게 접근하실수 있을것같습니다.
프레임워크는 어떤 정해진 개발 모델을 쉽게 구현할수있도록 도와주는 형태이자 tool이자 라이버리라 생각됩니다.
질문자님의 말씀처럼 Java로 만들어진 프레임워크가 바로 스프링프레임워크입니다.
스프링프레임워크는 기존의 자바/JSP로 웹을 구현할때 사용하던 MVC 모델에서 더 심화하여 더 편리하게 구조를 만들어주는 모델이라 생각됩니다.
스프링프레임워크를 사용하시면 백엔드는 JAVA를 사용하게되며 프론트엔드는 JSP/ JS등을 사용할수있으며 데이터저장소또한 쉽게 연동하실수있습니다.
자바스프링프레임워크에 대한것들은 구글에 검색을 조금만해보셔도 기초부터 만들어보실수있을겁니다.
따로 이클립스에서 springframework를 설치해서 사용하셔도되고
아래의 url에서 내려받아 사용하셔도됩니다.
"프레임워크는 어떠한 목적을 달성하기 위해 복잡하게 얽혀있는 문제를 해결하기 위한 구조며, 소프트웨어 개발에 있어 하나의 뼈대 역할을 한다." - 나무위키 (https://namu.wiki/w/%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC)
스프링을 하기 위해서는 당연히 자바를 먼저 하셔야 하고 그 다음에는 스프링을 이용해서 프로젝트를 몇개 해 보시면 감이 올겁니다.
자바를 공부하셔야 합니다.
자바는 프로그래밍언어이고
스프링 프레임워크는 자바 베이스의 프레임 워크입니다.
자바 플랫폼을 위한 오픈소스 어플리케이션 프레임워크죠
말이 어려운데
결국 자바언어로 개발할때 조금더 체계적이고 효율적이도록 도와주는 것입니다.
프로젝트에서 뼈대? 나 구조를 잡는것에 도움을 주고, 의존성 개념과 경량 컨테이너 등의 장점이 있습니다.
공부는 당연 자바가 우선이고, 우리나라에선 스프링프레임 웤을 알면 취업에 많이 유리합니다.
스프링은 자바를 기반으로 웹 서버기반 애플리케이션을 구축하기 위한 프레임워크입니다. 순수 자바 언어만으로 웹 서비스를 프로그래밍 하려면 a부터 z까지 모두 구현해야하지만, “웹” 이라는 도메인에서 일반적이고 공통적으로 사용되는 기술과 패턴들을 미리 구현해 놓은 것이 프레임워크이고, 그 프레임워크의 가이드라인에 맞추어 각각의 상황이나 요구사항에 맞게 코어를 커스터마이징하고 필요한 비즈니스 로직을 추가로 구현하면 됩니다. 따라서 스프링 프레임워크를 쓰려면 자바를 먼저 익혀야 합니다.
그리고 많은 언어들이 각각의 웹프레임워크를 갖고 있습니다. 예를 들어, Python 에는 Django 나 Flask, FastAPI 같은 동종의 프레임워크가 있고, Nodejs 에는 Express, Koa 등과 같은 동종의 프레임워크가 있습니다.
그리고 사견입니다.
자바는 여전히 세계적으로 높은 점유율을 가진 언어이지만, 그만큼 따분하고, 힙하지 않은 언어인 것 같습니다. 4~50대 아저씨들이나 애착하는 언어.. 같은 느낌..? (저도 40대지만 저는 자바를 싫어합니다. 이 밖에도 자바는 호불호가 갈리게 하는 요인들을 좀 갖고 있습니다.)
모든 언어의 형님인 C 를 제외하면, 저는 Java 보다는 Python 이나 Go, Rust 같은 언어를 배우시는게 멀리 내다본다면 더 현명한 선택이라 조언드리고 싶습니다.
독학가능 여부에 대해서는... 사람에 따라 전혀 다를 것 같습니다. 아주 기초적인 정도라도 무언가 지식이나 경험이 있다면 독학도 도전해 볼 수 있다고 보지만 그렇지 않다면 요즘은 부트캠프가 가장 효과적인 수단인 것 같다는 생각을 하고 있습니다. 신입 개발자 채용시 코딩테스트나 면접에서 대체로 좋은 점수를 주게 되는 지원자들은 대개 부트캠프 출신이었기 때문입니다.
안녕하세요.
프레임워크 (framework)는 공통적인 개발 환경 (클래스, 라이브러리 등)을 제공하여 개발하기 편하게 만들어 주는 것입니다.
스프링 (spring) 프레임워크는 자바 언어로 만들어진 대표적인 프레임워크 입니다.
실무에서 가장 많이 사용하며, 설정이 다 된 프레임워크를 사용하는 것은 쉬운데 설정은 난이도가 조금 있습니다.
프레임워크는 필수사항은 아닙니다. 자바를 먼저 배우시는게 맞고, 프레임워크 없이 개발해 보시는게 좋을 거 같습니다.
안녕하세요. A-HA 프로그래밍 전문가입니다.
충분히 독학으로도 배우실 수 있습니다. 스프링이란 자바 개발을 더 쉽고 효율적으로 할 수 있게 도와주는 프레임워크 입니다.
초보자 분들에게 가장 추천하는 언어는 C와 자바, 그리고 파이썬입니다. 여기서 현업에서 가장 많이 사용되는 언어는 자바와 파이썬으로 보통 백엔드에서 사용됩니다. 그 이유는 API도 많고, 범용성도 높기 때문입니다.
자바는 객체지향 언어, 파이썬은 스크립트 언어라는 특성을 가지고 있습니다. 저는 처음 공부를 시작하신다면 자바를 더 추천합니다.