본문 바로가기
728x90
반응형

🍃SpringFramework80

[SpringBoot] 03. 웹개발 개론 💡 Web이란?(World Wide Web, WWW, W3)는 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간을 말한다.용도Web Site - google, naver, facebook 등 HTML로 구성된 여러 사이트들API (Application Programming Interface) - Web Service, Kakao, Google, Naver Open API 등User Interface - Chrome, Safari, Explorer, IP TV 등HTTP (Hypertext Transfer Protocol)애플리케이션 컨트롤 (GET, POST, PUT, DELETE, OPTION, HEAD, TRACE, CONNECT)URI (Uniform Resou.. 2023. 8. 20.
[SpringBoot] 02. Design Pattern 💡 디자인 패턴이란,,?자주 사용하는 설계 패턴을 정형화 해서 이를 유형별로 가장 최적의 방법으로 개발 할 수 있도록 정해둔 설계 알고리즘과 유사하다.Gof (Gang of Four) 디자인 패턴 : 객체지향 개념에 따른 설계 중 재사용할 경우 유용한 설계를 23개의 디자인 패턴으로 정리 해둔 것이다.장점개발자(설계자) 간의 원활한 소통소프트웨어 구조 파악 용이재사용을 통한 개발 시간 단축설계 변경 요청에 대한 유연한 대처단점객체 지향 설계 / 구현초기 투자 비용 부담 [생성 패턴]객체를 생성하는 것과 관련된 패턴으로, 객체의 생성과 변경이 전체 시스템에 미치는 영향을 최소화 하고, 코드의 유연성을 높여 준다.Factory MethodSingletonPrototypeBuilderAbstract Fact.. 2023. 8. 20.
[SpringBoot] 01. Object Oriented Programming (OOP) 💡 객체 지향이란..?1970년대에 나오기 시작했으며, C언어와 같은 ‘절차 지향’ 프로그래밍이 컴퓨터의 발전으로 인해 프로그램 복잡도가 증가하면서 유지보수, 개발기간 등 비효율적인 부분이 발생하여 [추상화, 상속, 은닉, 재사용, 인터페이스] 등의 특성을 가진 객체 지향으로 개발하기 시작.현실에 존재하는 사물을 있는 그대로 모델링 하여, 이들의 행위와 속성을 정의하고, 절차가 아닌 객체가 중심이 되어 실제 사물이 동작하는 방식의 설계.사물은 객체(Object), 사물이 하는 행위는(Method), 사물이 가지는 속성을 변수(Variable)이라고 정의한다. 객체의 3가지 요소상태 유지 (객체의 상태)객체는 상태 정보를 저장하고, 유지되어져야 하며 이러한 속성은 변수로 정의되어야 한다 또한 객체의 상태.. 2023. 8. 20.
[SpringBoot] SpringBoot란? 💡 Spring Boot! 스프링(Spring)을 더 쉽게 이용하기 위한 도구라고 볼 수 있습니다. 스프링 이용하여 개발을 할 때, 이것저것 세팅을 해야 될 요소들이 많습니다. 여러가지를 세팅해야되는 진입 장벽이 존재하여 Spring 을 처음 배우려는 사람들은 중도에 그만두는 경우가 많다고 합니다. Spring Boot는 매우 간단하게 프로젝트를 설정할 수 있게 하여, Spring 개발을 조금 더 쉽게 만들어주는 역할을 하고 있습니다. 위의 구조에서 나온 것과 같이 User는 스프링을 사용하기 위해서 이것저것 다양한 설정을 직접 해줘야된다는 문제점이 있습니다. 개발자가 실행 환경이나 의존성 관리 등의 인프라 관련 등에 쓰는 에너지가 소요됩니다. 프로그래밍을 하는 데 있어 매우 중요한 비즈니스를 만들기 위.. 2023. 8. 20.
[SpringBoot] SpringBoot 에러 노트 SpringBoot 개발 중 발생한 에러를 정리하는 곳입니다. Mybatis Mapping 에러에러 코드- IndexOutOfBoundsException발생 원인- mybatis의 select 데이터랑 resultType 클래스의 field가 제대로 매핑되지 않음.해결 방법-  select 데이터 이름과 dto 클래스 필드명을 일치시켜야 한다. 하나라도 맞지 않으면 안됨. Dto 캐스팅 에러에러 코드- nested exception is java.lang.ClassCastException: java.lang.String cannot be cast to kr.co.weeds.wbs.board.model.dto.PrivacyContentDto] with root cause발생 원인- String -> Dto.. 2023. 8. 20.
[SpringMVC] 주요 @Annotation들 💡 Annotation 이란? Annotation(@)은 사전적 의미로는 주석이지만 자바에서는 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술이다. 클래스와 메서드에 추가하여 다양한 기능을 부여하는 역할을 합니다. 해당 클래스가 어떤 역할인지 정하기도 하고, Bean을 주입하기도 하며, 자동으로 getter나 setter를 생성하기도 합니다. Annotation을 통하여 코드량이 감소하고 유지보수하기 쉬우며, 생산성이 증가됩니다. 💡 Spring의 주요 Annotation리스트! @Bean @Bean은 개발자가 직접 제어가 불가능한 외부 라이브러리등을 Bean으로 만들려할 때 사용 되는 Annotation이다. @Configuration public class Application.. 2023. 8. 19.
[SpringMVC] WebListener를 활용한 중복 로그인 방지 Listener : 특정 이벤트가 발생하기를 기다리다 이벤트 발생 시 실행되는 컴포넌트.  WebListener@Weblistener는 ServletListener를 정의하는데 사용된다. ServletListener란? 웹 애플리케이션의 특정 이벤트(시작 세션 생성/소멸 등)를 감지하고 이에 반응하는 컴포넌트이다.클래스를 Listener로 등록하게 되면 서버가 종료될 때 까지 백그라운드 상태에서 동작하는 데몬(deamon)이 되기 때문에 간단한 값을 공유할 수 있다.추가로 ServletContextListener인터페이스를 상속받으면 서버가 실행/종료 될 때 특정 동작을 수행할 수 있다. 사용 예시:import javax.servlet.ServletContextEvent;import javax.servl.. 2023. 8. 19.
[SpringMVC] REST API & Ajax 💡 REST 와 Ajax 웹을 통해서 작업할 때 REST 방식이 가장 많이 쓰이는 형태는 Ajax와 같이 결합된 형태이다. Ajax는 Asynchronous JavaScript and XML 의 약자로 비동기 방식으로 데이터를 주고 받는 방식을 말한다. 동기 방식은 순차적인 일을 실행하는데 적합하다. (어떤 업무가 끝나길 기다린 후 끝나면 다른 업무가 시작되는 형태) 비동기 방식은 처리한 결과를 기다리지 않고, 흐름이 지속된다. 비동기 방식의 특징은 처리된 일의 결과를 통보받은 형태로 처리된다는 점이다. REST방식과 Ajax를 이용하면 화면의 전환이나 깜빡임 없이 주어진 기능을 수행할 수 있다. 쉽게 말하면 html의 빈 껍데기를 클라이언트에게 보내준다. 어떤 이벤트가 발생하면 jQuery의 Ajax가.. 2023. 8. 19.
[SpringMVC] MyBatis 💡 MyBatis 란? 객체 지향 언어인 자바의 관계형 데이터베이스 프로그래밍을 좀 더 쉽게 할 수 있게 도와 주는 개발 프레임 워크이다. 💡 특징 복잡한 쿼리나 다이나믹한 쿼리에 강하다 - 반대로 비슷한 쿼리는 남발하게 되는 단점이 있다. 프로그램 코드와 SQL 쿼리의 분리로 코드의 간결성 및 유지보수성 향상 resultType, resultClass등 Vo를 사용하지 않고 조회결과를 사용자 정의 DTO, MAP 등으로 맵핑하여 사용 할 수 있다. 빠른 개발이 가능하여 생산성이 향상된다. 💡 SpringMVC > MyBatis 연동 1. Mybatis 라이브러리 추가 (pom.xml) - version확인! 2. SQL SessionFactory 설정 (root-context.xml) SQL Sessi.. 2023. 8. 19.
728x90
반응형