프로그래밍/Spring 스프링
-
의존성 주입할때 생성자 생성을 통해 해야하는 이유프로그래밍/Spring 스프링 2022. 7. 26.
의존성을 주입 할 때 보통 @Autowired를 사용해서 의존성을 주입 했었는데. 솔직히 이렇게 주입하는게 편하다. 괜히 auto가 아님. 간단한 코드이거나 프로젝트의 구성이 복잡하기 않을 경우, 개인 테스트용 프로젝트 에는 크게 상관이 없지만 실무에서 사용할때는 어노테이션을 사용해서 의존성을 주입 하는 것 보다는 생성자를 만들어서 의존성을 주입 하는게 좋다. (물론 실무라고 어노테이션을 사용하면 안좋다는 뜻은 아님.) 어노테이션을 사용한 의존성 주입 @Component public class MadExample { @Autowired private HelloService helloService; } 보통 MVC 구성의 프로젝트에서 Service단을 Controller에서 사용하기 위해서 이러한 구성의 ..
-
Spring - Maven build 옵션들프로그래밍/Spring 스프링 2022. 7. 5.
보통 프로젝트를 war, jar로 배포할 때 war, jar 형태로 수동 export하는 경우도 있지만 Maven 프로젝트인 경우 Run As 항목의 다양한 Maven 옵션들을 이용해서도 배포가 가능하다. 그리고 Maven 옵션을 통해서는 test를 할 수 있기 때문에 단순하게 export로 뽑아 내는 것 보다 여러가지 체크가 가능 하다. 옵션 설명 clean 컴파일 결과물이 있는 target 폴더(디렉토리)에 있는 소스 삭제 해당 프로젝트안에 있는 target 폴더 package 컴파일, 테스트 수행 pom.xml의 패키징 정보에 따라 패키징을 수행함 (패키징 옵션 : war, jar) install 패키징을 수행 후, 로컬 컴퓨터 레파지토리에 패키지를 install target 폴더안 체크 test ..
-
Spring - consumes, produces 주고 받는 데이터 제한하기프로그래밍/Spring 스프링 2022. 6. 20.
@RequestMapping(method = RequestMethod.GET, produces = APPLICATION_JSON) public Responses.ListResponse list(RequestParams requestParams) { List list = productService.gets(requestParams); return Responses.ListResponse.of(list); } produces : dataType이 JSON인 것들만 사용자에게 응답 하겠다. [서버가 클라이언트에게 반환하는 데이터 타입] @RequestMapping(method = RequestMethod.GET, consumes = APPLICATION_JSON_VALUE) public void list(Re..
-
Swagger - API 문서 꾸미기프로그래밍/Spring 스프링 2022. 6. 16.
@ApiImplicitParams( { @ApiImplicitParam(name="prdtCd", value = "제품코드", dataType = "String", paramType = "query"), @ApiImplicitParam(name="prdtNm", value = "제품명", dataType = "String", paramType = "query"), @ApiImplicitParam(name="filter", value = "검색어", dataType = "String", paramType = "query") } ) @RequestMapping(method = RequestMethod.GET, produces = APPLICATION_JSON) public Responses.ListRespo..
-
스프링 - Git과 로컬 비교 Synchronize Workspace프로그래밍/Spring 스프링 2022. 6. 12.
스프링, 스프링부트, 이클립스 등에서 깃을 사용하다 보면 내가 풀을 당겨야 하는지 아니면 안당겨도 되는지 내가 커밋을 하고 푸쉬를 안했었는지 등등 여러가지 확인해야 할 사항들이 생긴다. Synchronize Workspace를 사용하면 한번에 체크가 가능하다. 먼저 깃과 연결되어 있어야함. 프로젝트 우클릭 -> Team -> Synchronize Workspace 클릭 안내문 나오면 yes 클릭 플러스 버튼을 클릭해서 프로젝트 전체에 있는 변경 사항들을 오픈 한다. 그리고 우측 맨 아래를 보면 이런 화살표들이 보이는데 파란 화살표 = 내가 pull 해야할 파일들의 갯수 (깃에는 파일이 있거나 어떤 변경사항이 있는데 내 로컬엔 없거나 뭔가 다름) 회색 화살표 = 깃과 로컬의 다른 파일들의 갯수 (깃에는 없..
-
MariaDB Mybatis application.yml 기본 설정프로그래밍/Spring 스프링 2022. 6. 3.
spring: datasource: driverClassName: org.mariadb.jdbc.Driver url: jdbc:mariadb://localhost:3306/디비이름?autoReconnect=true username: ? password: ? mybatis: mapper-locations: - classpath:mapper/*.xml mapper 경로는 resources 경로 밑 부터 시작. mariadb autoreconnect=true 옵션 설명 https://kjk3071.tistory.com/entry/DB-MySQL-autoReconnecttrue [DB] MySQL - autoReconnect=true 서버의 로그를 확인하던 중 주기적으로 커넥션 관련해서 오류가 발생하는 것을 알..