일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- spring mongoTemplate switch
- 전략 패턴이란
- go
- ipfs singletone
- 익명 객체 @transactional
- java 1238
- Java Call By Refernce
- kotiln functional interface
- 백준 특정한 최단 경로
- 안정해시
- ipfs bean
- java 팩토리얼 개수
- kotiln const val
- 백준 1504 java
- 백준 2252 줄세우기
- nodejs rabbitmq
- 자바 1676
- spring mongoTemplate
- rabbitmq 싱글톤
- 자바 백준 팩토리얼 개수
- java 파티
- javav 1676
- java 백준 1509
- 백준 연결요소 자바
- spring mongodb
- spring mongodb switch
- java 1509
- mongodb lookup
- kotiln const
- Spring ipfs
- Today
- Total
목록web study/Spring (29)
공부 흔적남기기
Servlet을 사용할때의 구조를 간단하게 복습하는 차원 @WebServlet(name="practiceServlet", urlPatterns = "경로") public class PracticeServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //이런식으로 데이터를 받을 수 있음 ServletInputStream inputStream = request.getInputStream(); String messageBody = StreamUtils.copyToString(inp..

Spring으로 게시판을 만드는 과정을 빠르게 한번 살펴보면서 내가 접했던 오류들? -> 실수들을 남겨두기 위해 적음 API 설계 이번 게시글을 만들면서 크게 사용한 기술들은 Java Spring MVC, JPA, Ajax, Thymleaf, H2(로컬에서만 사용하고 외부에 올릴때는 Mysql)로올림 프로젝트의 구조는 Controller에서 요청을 받고 Service에서 Repository를 이용하여 데이터를 처리한후 Controller에 return 해주면 Controller가 그 값을 리턴해주는 식으로 하였다. 리턴해줄 때 데이터를 리턴해주는 것과 template의 text/html을 return해주는 2경우로 나뉘니 잘 살펴보는 것이 좋을 것임. @Bean들의 의존관계는 @Autowired를 통해 ..

코드를 먼저 천천히 살펴보며 이해해보자 package com.sparta.springmvc; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; @Controller @RequestMapping("/hello/request") public class HelloRequestController { @GetMapping("/form/html") public String helloForm() { return "hello-request-form"; } // [Request sample] // GET http://localhost:8080/hello/request/star/BTS/age/2..
먼저 다음과 같이 네이버 API를 통해서 값을 받아왔을 때 어떻게 처리해야하는지 살펴보자 import com.sparta.week4.domain.ItemDto; import org.json.JSONArray; import org.json.JSONObject; import org.springframework.http.*; import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; import java.util.ArrayList; import java.util.List; @Component public class NaverShopSearch { public String search(Str..
1.Domain에 @Entity를 붙이지 않아서 30분동안 헤맸다. -> JPA에 DB를 넣기위해서 붙여야하는데 안붙였다.다음부터는 무조건 먼저 붙일 듯 ^^ 2.Controller의 위치가 @ComponentScan이 있는 즉 @SpringBootApplication보다 같거나 아래 경로에 있어야 하는데 윗 경로로 만들었다가 20분정도 날린 것 같다. -> 경로 확인 잘하자! ^^ //+) 경로 다시 한번 확인해보기 이게 문제가 아니였던 것 같음. 3.Service에서 db처리하는 메소드 위에 @Transational을 붙이지 않아서 헤맸다. -> 이것도 30분은 헤맨듯 ^^ 덕분에 @Transational공부도하고 좋았다 ^^ 4.URL 경로 오타나가지고 계속 404가 나왔다. -> ^^ 오타 ^^ ..
Spring 컨테이너에 빈을 등록하는 방법은 크게 2가지로 수동방식과 자동방식이 있다. 먼저 수동 방식을 먼저 보면 @Configuration과 @Bean을 이용해서 등록한다. @Configuration public class AppConfig{ //컨테이너에 빈 등록 @Bean//의존관계 주입 public Service service(repository()){} //컨테이너에 빈 등록 @Bean public Repository repository(){} } 그 다음으로 자동 방식을 보면 @ComponentScan과 @Component을 이용해서 등록하고 @Autowired를 통해 의존관계를 주입한다. @Configuration @ComponentScan( basePackages ="Bean을 등록할 파..
싱글톤 패턴이란 무엇일까?? 먼저 싱글톤이 무엇인지 알기전에 싱글톤 디자인 패턴을 사용하게 된 이유부터 알아보자(원인을 알아야 더 쉽게 이해가 되기 때문) 우리가 이용하는 웹사이트나 어플 같은 경우 수 많은 기능이 존재한다. 우리가 그 기능을 사용할 때 마다 새로운 객체가 생성된다고 상상해보자 그러면 메모리에 엄청난 부담이 가게 될 것이다(요즘 컴퓨터는 그래도 끄떡 없다고 하긴함 -> 하지만 매우 비효율적임) 이러한 문제를 해결하기 위해 나오게 된 디자인 패턴이 싱글톤 디자인 패턴이다. 싱글톤은 클래스의 인스턴스가 딱 1개만 생성되는 것을 보장하는 디자인 패턴이다. -> 생성자를 private을 해두어 외부에서 접근하지 못하게 하면 된다. 객체의 인스턴스가 필요한 경우 getInstance() 메소드를 ..
컨테이너에 등록된 모든 빈을 조회하는 방법 // 구성을 설정해주는 파일을 AppConfig에서 해주는다고 가정 AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(AppConfig.class); // 일단 복습 차원에서 간단히 적겠습니다. // 모든 빈의 이름을 가져오기 ac.getBeanDefinitionNames(); -> 컨테이너에 등록된 모든 빈의 이름을 String 배열형태로 꺼냄 //꺼낸 것들중 하나의 이름을 name이라고 가정 //빈의 정보가 나옴 ac.getBean(name) 컨테이너에 등록된 어플리케이션 빈만 조회하는 방법 // 구성을 설정해주는 파일을 AppConfig에서 해주는다고 가정 Annot..
SOLID는 5가지 원칙에서 하나의 글자씩만 따와서 만든 글자이다. SOLID원칙을 지키면서 코딩을 하게 되면 객체지향을 목표로 하는 프로그램을 잘 구성하여 만들 수 있다.Spring이 어느정도 잘 도와줄 것이니 걱정 말자! S부터 하나씩 살펴보겠다. S는 Single responsiabilty principle의 약자로 단일 책임의 원칙이다. 이 원칙은 하나의 메서도 혹은 클래스는 하나의 책임만을 가져야 한다는 의미이다. 이 말은 약간 모호할 수 있는데 어디까지가 하나의 책임이고 어디까지가 책임이 아닌지는 설계할 때 잘 설정해야한다. 시골의 고수 개발자님이 말씀해주시길 실력이 좋을 수록 책임의 범위를 잘 설정할 수 있다 하셨다. 치킨집을 예를 들면 치킨집이 잘된다면 알바생은 치킨을 튀기는 역할만 맡을 ..