본문 바로가기
반응형

Spring31

Spring - MultiValueMap<K, V>: Value가 List로 저장 Spring이 제공하는 MultiValueMap이 있다. Key에 대해서 Value를 List로 저장한다. Value에 List으로 저장하고 싶을 경우 아래와 같이 구현한다. MultiValueMap multiValueMap = useMultiValueMap(); System.out.println("multiValueMap = " + multiValueMap); Key: "학생1", Value: List classes로 구현한 경우이다. private static MultiValueMap useMultiValueMap() { MultiValueMap multiValueMap = new LinkedMultiValueMap(); List classes = new ArrayList(); classes.add(.. 2023. 1. 13.
jasypt 에러: Failed to bind properties under 'spring.datasource.password' to java.lang.String: 다음과 같은 에러가 발생했다. Failed to bind properties under 'spring.datasource.password' to java.lang.String 패스워드가 비워져 있어서 생긴 에러라고 한다. JasyptConfig 클래스는 고칠게 없어 보인다. @Configuration public class JasyptConfig { @Value("${jasypt.encryptor.password}") private String PASSWORD; @Bean("jasyptStringEncryptor") public StringEncryptor stringEncryptor() { PooledPBEStringEncryptor encryptor = new PooledPBEStringEncrypt.. 2022. 12. 29.
MyBatis란(SQL Mapper) MyBatis란? - 자바에서 SQL Mapper를 지원해주는 프레임워크 - JDBC를 통해 데이터베이스에 엑세스하는 작업을 캠슐화한다. - 일반 SQL 쿼리, 저장 프로시저, 고급 매핑을 지원한다. - 프로그램에 있는 SQL 쿼리를 한 구성파일에 구성하여 프로그램 코드와 SQL을 분리할 수 있다. - SQL을 직접 작성해서 쿼리 수행 결과를 객체와 매핑한다 - 쿼리문을 XML로 분리 가능하다 MyBatis: 장점: - 자바의 관계형 데이터베이스 프로그래밍을 쉽게 할 수 있도록 도와준다. - 모든 JDBC 코드, 매개 변수의 중복작업을 제거한다. - 복잡한 쿼리 작성이 가능하다 - 데이터 캐싱 기능으로 성능이 향상된다 MyBatis 단점: - 객체, 쿼리문을 모두 관리해야한다. - CRUD 메소드를 직접.. 2022. 12. 24.
Spring Boot: Spring 환경설정 Spring Boot는 웹 어플리케이션을 만들 때 이용하는 도구이다. start.spring.io 주소를 통해서 Spring Boot를 이용한다. Project, Language에 원하는 버전, 언어를 선택한다. Spring Boot 버전은 SNAPSHOT이 아닌 버전을 선택한다. SNAPSHOT은 완료버전이 아닌 중간단계 버전이라고 보면 된다. Project Metadata 또한 개발자의 선호에 맞게 이름을 설정하면 된다. Jar: Java Archive Java 어플리케이션이 동작할 수 있도록 자바 프로젝트를 압축한 파일 클라우드 사용할 계획이 있다면 선택한다. JRE 혹은 JDK 환경에서 JAR 파일을 실행시킬 수 있다. JAR 배포만으로 실행이 가능하다. Spring Boot는 내장 톰캣을 포함하.. 2022. 12. 21.
[REST API Client] Swagger doc 다른 서버 url 추가 - Java Spring REST API Client 개발 중에 Swagger doc으로 다른 서버에 request를 보내서 response를 받는 테스트를 해야할 때가 있었다. Swagger 테스트 중에 다른 서버를 추가하는 방법은 OpenApiConfig 클래스를 만들고 ArrayList에 request를 보내고자하는 서버 url(ip address, port) 추가하면 된다. @Configuration public class OpenApiConfig { @Bean public OpenAPI openAPiConfig() { ArrayList servers = new ArrayList(); servers.add(new Server().url("http://localhost:8080").description("Local Serv.. 2022. 12. 11.
What is DI(Dependency Injection), Why & How to use What DI(Dependency Injection): DI(Dependency Injection) is a core programming model supported by Spring Framework. Dependency is that one object uses another object. (depends on = uses) For example, if a QuestionController object uses a QuestionService object, The QuestionController object depends on the QuestionService object. public class QuestionController { private QuestionService questionSe.. 2022. 12. 9.
What is Dispatcher-Servlet, Why & How to use What is Dispatcher-Servlet: Dispatcher-Servlet is important in Spring MVC. Dispatcher-Servlet first gets client's requests and sends them to corresponding controller. Dispatcher-Servlet is called Front Controller. Why use Dispatcher-Servlet : To process common codes in each controller. To get all client requests using only a single dispatcher-servlet Don't have to use servlet in other controller.. 2022. 12. 8.
Dispatcher-Servlet(디스패처 서블릿) Dispatcher-Servlet이란(What): Dispatcher-Servlet은 Spring MVC에서 핵심이다. Dispatcher-Servlet은 클라이언트에서 들어오는 요청을 가장 먼저 처리하여 해당 컨트롤러에 전달한다. 프론트 컨트롤러(Front Controller)라고도 한다. Dispatcher-Servlet 사용하는 이유(Why): 디스패처 서블릿으로 인해 각 컨트롤러에 있는 공통 코드에 대해서 처리가 가능하다. 디스패처 서블릿 하나로 모든 클라이언트 요청을 받을 수 있기 때문 -> 들어오는 요청을 한 곳에서 다 받음 -> 편리함 디스패처 서블릿을 제외한 나머지 컨트롤러는 서블릿을 사용하지 않아도 되기 때문 Dispatcher-Servlet 사용하는 방법(How): 1. FrontCon.. 2022. 12. 8.

반응형
반응형