일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 재귀와반복문
- 재귀함수
- 프로그래머스
- 구간합구하기
- java
- 자바
- 버블정렬
- 알고리즘
- Spring MVC 구성요소
- List.of
- 코딩테스트
- Spring MVC 동작원리
- 백준
- GCP
- Spring Web MVC
- 싱글톤패턴
- MySQL
- vm인스턴스생성
- 클라우드에서 도커 실행하기
- 스택
- 코드스테이츠
- Array.asList
- 11659
- 백준 11659
- 인텔리제이
- 성능테스트툴
- OOP
- String.valueOf()
- 투포인터알고리즘
- 코드스테이츠 백엔드
- Today
- Total
목록Development (41)
순간을 기록으로
1.HomeController 만들기 @GetMapping을 이용해 'localhost:8080'이 입력되면 연산없이 home.html로 가도록 만든다. 2.home.html 만들기 실행결과 회원 가입 버튼을 누르면 localhost:8080/members/new로 이동한다 회원 목록 버튼을 누르면 localhost:8080/members로 이동한다. 참고 스프링은 url을 받으면 첫번째로 맵핑되는 컨트롤러가 있는지 찾는다. 연관된 컨트롤러가 있으면 관련 html로 이동한다. 만약 없다면 resource/static 폴더에서 맵핑되는 html파일을 찾는다.
~Application.java가 있는 위치에 SpringConfig 클래스 생성을 합니다. @Bean은 스프링 빈 등록을 직접하겠다는 의미이다. @Configuration은 설정파일임을 알려준다. 멤버 서비스와 멤버 레포지토리를 직접 등록한다. 컨트롤러는 스프링이 자동으로 관리하기 때문에 컴포턴트 스캔 방식으로 놔둔다. 서비스의 경우 객체 생성할 때 생성자 인자로 밑에 함수를 넣어 연결을 해준다. 참고1 의존성 주입에는 1.필드 주입, 2.setter 주입, 3.생성자 주입이 있다. 거의 대부분 생성자 주입을 실무에서 사용 중이다. setter주입의 경우 변경될 가능성이 있어 안정성이 떨어지는 단점이 있다. 참고2 정형화된 컨트롤러, 서비스, 레포지토리의 경우 컴포넌트 스캔 방식을 이용한다. 하지만 정..
컴포넌트 스캔(Component Scan) 스프링이 @Conponent 애노테이션을 이용해 컨테이너에 빈을 등록하는 방법을 말한다. 현재에는 @Controller, @Service, @Repository 애노테이션을 많이 사용한다. 이 애노테이션을 사용해도 똑같이 작동한다. 왜냐하면 이 애노테이션 정의 안에 @Component 애노테이션이 들어있기 때문이다. @Controller 스프링은 @Controller를 발견하면 어노테이션이 붙은 클래스의 객체를 생성해 스프링 컨테이너에 등록을 한다. 이 말은 스프링 컨테이너에서 스프링 빈이 관리된다는 말과 같다. @Autowired 어노테이션 @Autowired 어노테이션이 생성자에 붙어있을 때, 스프링은 스프링 컨테이너에서 멤버 서비스 빈 객체를 가져와서 멤버..
스프링을 이용한 웹 개발에는 3가지 방법이 있습니다. 정적 컨텐츠 MVC와 템플릿 엔진 API 1.정적 컨텐츠 클라이언트(브라우저)가 요청하면 서버에서 어떠한 연산도 없이 파일 그대로 웹브라우저에게 주는 방법 소스코드 더보기 정적 컨텐츠 입니다. 브라우저에서 localhost:8080/hello-static.html입력하면(요청하면) 내장 톰캣 서버가 요청을 받습니다. 요청을 받은 내장 톰캣 서버는 우선 'hello-static'과 관련된 컨트롤러가 있나 찾습니다. 만약 관련 컨트롤가 없다면 resoruce 디렉토리 아래에서 'hello-static.html'을 찾습니다. 그리고 찾은 hello.static.html을 클라이언트(브라우저)에게 주면서 응답합니다. 2.MVC와 템플릿엔진 현재 가장 많이 사..
Spring Boot Devtools Module란? 개발시 유용한 기능을 제공하는 모듈 애플리케이션 자동 시작: 파일이 변경될 때마다 실행 버튼을 누르지 않아도 자동으로 재시작을 해주는 기능 Live Reload: 정적 파일(html, css, js) 수정 시 새로고침 없이 바로 적용할 수 있는 기능 적용하기 build.gradle에 의존성 추가 dependencies { developmentOnly("org.springframework.boot:spring-boot-devtools") } Automatic Restart 적용하기 키를 두 번 연속 눌러 모든 항목을 검색할수 있는 검색창 불러오기 registry 검색하기 app.running 체크하기 File - Setting - Build, Execu..
오류 iml file does not exist 원인 iml 파일이 존재하지 않아서 생기는 오류. iml 파일이 무엇인지 정확하게 몰라서 검색해본 결과 IntelliJ IDEA Module의 약어라고 한다. iml 파일안에는 모듈 경로, 모듈 의존성 등 개발 모듈에 관한 정보를 xml형식으로 담고 있다. 해결법 1.인텔리제이를 종료한다. 2.프로젝트 폴더에가서 .idea 디렉토리를 삭제한다. 3.인텔리제이에서 다시 프로젝트를 열어 build한다.
안녕하세요. 오늘은 간단히 스프링부트로 기본적인 스프링 프로젝트를 시작하는 방법에 대해 알아보겠습니다. 작업환경 - 윈도우 - 자바11 - 인텔리제이 - gradle 1.스프링부트로 셋팅된 환경설정 가져오기 스프링부트는 스프링의 환경설정을 빠르게 도와주는 툴입니다. 기존에는 직접 외부 라이브러리를 작성해야했지만 스프링부트를 이용하면 간단히 가져올 수 있습니다. https://start.spring.io/ 다음과 같이 설정 후 generate를 클릭합니다. 최근에는 Maven 프로젝트보다 Gradle 프로젝트를 사용하는 추세여서 Gradle을 선택했습니다. Dependencies로 Spring Web과 Thymeleaf를 가져옵니다. 스프링 부트는 괄호가 안붙은 버전을 선택합니다. 괄호가 붙은 버전은 안정..
JPA(Java Persistence API)란? 자바 진영에서 사용하고 있는 ORM 기술. JPA는 인터페이스이고 이를 구현한 대표적 구현체로는 Hibernate가 있다. ORM(Object Relational Mapping)이란? 객체와 관계형 데이터베이스를 맵핑해주는 기술. 자바 객체와 관계형 데이터베이스 사이에서 이어준다. 이를 통해 개발자는 SQL 중심 개발에서 탈출하고 객체지향적 개발과 비즈니스 로직에 집중할 수 있다. JPA 사용했을 때 장점 1. 특정 데이터베이스에 종속되지 않는다. 데이터베이스에 종속되지 않기 때문에 중간에 데이터베이스를 변경해도 문제가 없다. 2.객체지향적 프로그래밍을 할 수 있다. 데이터베이스 설계 중심 개발이 아닌 객체지향 중심 개발을 할 수 있다. 객체 지향적 개발..