본문 바로가기

spring

[Spring] mvc 패턴 개요 정의 : 소프트웨어 공학에서 사용되는 디자인 패턴의 일종. 목적 : 사용자 인터페이스로부터 비즈니스 로직을 분리하여, 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비즈니스 로직을 서로 영향 없이 쉽게 고칠 수 있는 애플리케이션을 만들 수 있다. 구성 요소 - 모델 - 애플리케이션의 데이터, 비즈니스 로직, 상태를 나타냄 - 뷰 - jsp, thymeleaf - 사용자에게 데이터 표시 - 사용자 입력을 받음 - 컨트롤러 - servlet - 사용자의 입력에 대한 상호 작용을 처리해 모델과 뷰의 상태를 업데이트 - 모델과 뷰 간의 통신을 중재 - 애플리케이션의 흐름을 제어. 문제점 및 해결방안 공통으로 처리해야 하는 부분이 점점 더 많이 증가하게 될것. 이에 해결 방안으로서 프론트 컨트롤러 패턴이.. 더보기
[spring] SpringBoot + JPA ToDo 앱 만들기 System.out.println("부부개발단님의 강의를 참고하였습니다."); 1. 프로젝트 생성 https://start.spring.io 2. docker 에 mysql 설치 아래 url 참고해주세용 MySQL 설치 (docker 사용, m1 Macbook Air) (tistory.com) MySQL 설치 (docker 사용, m1 Macbook Air) System.out.println("부부개발단님의 강의를 참고하였습니다."); 1. docker-desktop 다운로드 (저는 2020 m1 Macbook Air를 사용중입니다. -=> Download for Mac - Apple Chip) 2. database 디렉토리 생성 3-1. docker-compose.yml 파 dev-tatooine.ti.. 더보기
[spring] http 요청 메시지 System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다."); 개요 http 요청 데이터 사용성 3가지 상황 1. GET 쿼리 파라미터 2. POST - HTML Form 3. HTTP 메시지 바디에 데이터를 직접 담아서 요청 주로 JSON 애노테이션 @WebServlet(name = " ", urlPatterns = " ") GET 쿼리 파라미터 방식 /* * 1. 파라미터 전송 기능 * http://localhost:8080/request-param?username=hello&age=20 * * */ @WebServlet(name = "requestParamServlet", urlPatterns = "/request-param") public class R.. 더보기
[spring] 컴포넌트 스캔 (스프링 핵심 원리-기본편 from 김영한 강사님) System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다."); 컴포넌트 스캔 : @Component 애노테이션이 붙은 것들의 객체들을 자동으로 싱글톤으로 스피링 빈 저장소에 등록해줌 사용 방법 - @ComponentScan 애노테이션을 설정 정보에 붙여준다. @Configuration @ComponentScan( basePackages = "hello.core.member", basePackageClasses = AutoAppConfig.class, public class AutoAppConfig { //@Bean 으로 등록 } - 사용할 클래스에 @Component 애노테이션을 붙여준다. @Component public class MemoryMemberRep.. 더보기
[spring] spring 조회 (스프링 핵심 원리-기본편 from 김영한 강사님) System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다."); https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55337&tab=curriculum 빈 이름으로 조회하기 ac.getBean(이름, 타입) AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); @Test void findBeanByName() { MemberS.. 더보기
[spring] DI(의존 관계 주입) (스프링 핵심 원리-기본편 from 김영한 강사님) @SpringBootApplication public class DependancyinjectionsampleApplication { public static void main(String[] args) { SpringApplication.run(DependancyinjectionsampleApplication.class, args).getBean(DependancyinjectionsampleApplication.class).excute(); } @Autowired Greet greet; private void excute() { greet.greeting(); } }​ System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다."); // https://www... 더보기
[spring] 프로젝트 시작 (스프링 핵심원리 - 기본편 from 김영한 강사님) System.out.println("이 게시물은 김영한님의 스프링 핵심 원리-기본편을 참조하였습니다."); // https://www.inflearn.com/course/lecture?courseSlug=%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90%EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8&unitId=55337&tab=curriculum 프로젝트 셋팅 1. 스프링 부트를 이용해 시작. (https://start.spring.io) - spring boot 버전은 안정적인 최하위 버전을 선택 (높은 버젼은 Java11과 호환이 안된다.) - Java 버젼은 11 1-1. 아래 GENERATE 버튼을 눌러 zip 파일을 다운 .. 더보기
[spring] 자바 기초 ArrayList ArrayList 정의 : 크기를 동적으로 조정할 수 있는 배열(array)을 구현한 클래스. 사용성 c++의 vector와 유사한 개념으로 매우 유용. 메서드 get(index) : 해당 인덱스에 있는 요소를 얻음. set(index, element) : 해당 인덱스의 요소를 변경 add(element) : 리스트에 요소를 추가 remove(index) : 특정 인덱스의 요소를 삭제 import java.util.ArrayList; public class ArrayListExample { public static void main(String[] args) { ArrayList names = new ArrayList(); names.add("kim"); names.set(0, "jeong"); name.. 더보기