Cute Hello Kitty Kaoani

전체 글

WebServer/Spring Boot

[스프링부트] I18N 다국어 처리하기

파일명_국가별언어코드.properties 작성 한국어 버전 #shop_ko.properties greeting=안녕하세요 영어 버전 #shop_en.properties greeting=hello application.properties 설정 spring.messages.basename=message/shop spring.messages.encoding=utf-8 # spring.messages.fallback-to-system-locale=false 💡 fallback-to-system-locale = true (default) : 시스템의 locale를 따른다. 💡 fallback-to-system-locale = false : 기본 properties를 실행한다. ① 메인에서 사용 @SpringBoo..

WebServer/Spring Boot

[스프링부트] SpringBoot 개요

Java Spring Boot는 Spring으로 애플리케이션을 만들 때, 쉽고 빠르게 만들 수 있도록 도와주는 프레임워크 스프링 vs 스프링부트 Spring 🌱 Spring Boot🌱 정의 Enterprise Application을 개발하는데 사용되는 오픈소스 경량 프레임워크 REST API 개발에 사용되며, 기존의 스프링 프레임워크 위에 구축 중요기능 Dependency Injection Autoconfiguration 사용방식 설정 파일 작성, 빈 객체 등록, 빈 객체 간의 의존성 설정 간단한 설정과 의존성 처리 설정파일 Bean Configuration XML파일 application.properties 또는 application.yml 이용 목적 느슨하게 결합된 응용프로그램 독립 실행형 응용 프로..

Database/SQL

[Oracle] SQLPlus 로 계정 생성 및 권한 부여하기

관리자 계정 접속 cmd 에서 sqlplus sys/관리자비밀번호 에러 발생 시, Enter user-name: sys as sysdba Enter password: 관리자 비밀번호 새로운 계정 생성 create user 아이디 identified by 비밀번호; 권한 부여 grant connect,resource,dba to 아이디;

WebServer/Spring

[Spring] Spring 기반의 파일업로드(File Upload)

① 의존성 추가 Apache 에서 제공하는 Commons 기반의 라이브러리 의존성 추가 commons-fileupload commons-fileupload 1.4 commons-io commons-io 2.6 ② 파일 업로드 JSP 작성 comment: file: ③ DTO 작성 type="text"와 type="file" 2개를 한꺼번에 저장하기 위해 UploadDTO 클래스를 작성한다. @AllArgsConstructor @Data public class UploadDTO { String theText; CommonsMultipartFile theFile; } 💡 CommonsMultipartFile 클래스는 파일을 저장하는 핵심 클래스이다. ④ Controller 작성 @Controller publ..

WebServer/Spring

[Spring] MVC 네임스페이스 태그 관련

@MVC 관련 기능을 활용할 때, 다음 두 가지는 필수 지정 HandlerInterceptor 스프링의 HandlerMapping은 HandlerInterceptor를 이용해 Controller가 요청을 처리하기 전과 후에 알맞은 기능을 수행하도록 지원 boolean preHandle(request, response, object): 클라이언트 요청을 Controller에 전달하기 전 호출 void postHandle(request, response, object, mav) : 클라이언트 요청을 처리한 후 호출 void afterCompletion(request, response, object, ex): 뷰를 통해 클라이언트에 응답을 전송한 후 호출 HandlerInterceptor를 구현한 뒤에는 반드..

Algorithm/알고리즘

[JAVA] 이진트리 순회(DFS, BFS)

이진트리 이진트리 순회(DFS) 전위순회: 중 - 왼 - 오 중위순회: 왼 - 중 - 오 후위순회: 왼 - 오 - 중 import java.util.*; class Node { int data; Node lt, rt; // 왼쪽 주소, 오른쪽 주소 저장 public Node(int val) { data = val; lt = rt = null; } } class Main { Node root; public void DFS(Node root) { if (root == null) return; else { // System.out.print(root.data + " "); 전위순회 DFS(root.lt); // System.out.print(root.data + " "); 중위순회 DFS(root.rt); /..

WebServer/Spring

[Spring] 스프링의 포워드(forward)와 리다이렉트(redirect) + RedirectAttributes

[Servlet] 요청 위임 클라이언트의 요청을 받은 서블릿에서 다른 컴포넌트(서블릿, JSP, html)로 요청을 위임할 수 있다. 직접 요청 받은 서블릿에서 모든 작업을 처리하지 않고 위임한 컴포넌트에서 특정 작업을 처리 gangintheremark.tistory.com 리턴 타입이 String 일 때, 다음과 같은 특별한 키워드를 붙여서 사용할 수 있다. forward : 포워드 방식으로 처리 forward:target redirect : 리다이렉트 방식으로 처리 redirect:target 포워드(forward) 처리 화면 URL 변경 X request scope에 저장된 데이터 target에서 사용 가능 @RequestMapping("/aaa") public String aaa(Model m) ..

WebServer/Spring

[Spring] 스프링 MVC의 Controller

스프링 MVC의 Controller는 다음과 같은 특징이 있다. 다양한 타입의 파라미터 처리, 다양한 타입의 리턴 타입 사용 가능 GET/POST 전송 방식을 어노테이션으로 처리 가능 @RequestMapping @RequestMapping은 사용자가 요청한 URL 정보를 이용하여 실제 처리되는 메서드를 선택할 수 있다. URL 패턴 @Controller public class TestController { // 💡 매핑값 하나 // http://localhost:8090/app/xxx @RequestMapping(value = "/xxx") public String xxx() { return "main"; } // 💡 매핑값 두 개 // http://localhost:8090/app/xxx2 // ht..

WebServer/Spring

[Spring] Spring MVC 구조와 컴포넌트

Spring MVC 구조 스프링 프레임워크는 MVC2 패턴을 준수한다. MVC2 패턴은 쉽게 말해 로직과 화면을 분리하는 스타일의 개발방식이다. UI코드와 비즈니스 코드를 분리함으로써 종속성을 줄이고 재사용성을 높여 보다 쉬운 유지보수를 확보할 수 있다. MVC2 방식에서 사용자의 Reqeust를 처리하기 위해 주로 Controller를 호출한다. 나중에 View를 교체하더라도 사용자가 호출하는 URL 자체에 변화가 없게 만들어주기 때문이다. 스프링 MVC의 기본 구조는 아래와 같다 ① 사용자의 Request는 Front-Controller인 DispatcherServlet을 통해 처리한다. ② HandlerMapping은 Request의 처리를 담당하는 Controller를 찾는다. @RequestMa..

WebServer/Spring

[Spring] 트랜잭션 처리 (TransactionManager)

스프링에서는 트랜잭션 관리자인 TransactionManager 클래스를 제공하여 트랜잭션을 처리한다. TransactionManager 빈등록 및 설정 @Transactional 어노테이션 이용 @Transactional @Override public int InsertAndDelete() { // insert DeptDTO dto = new DeptDTO(50, "개발", "부산"); dao.deptAdd(dto); // delete dao.deptDelete(60); return 0; }

WebServer/Spring

[Spring] Spring에서의 MyBatis 연동

Oracle 연습용 계정인 SCOTT 계정의 DEPT 테이블 정보를 조회/삽입/수정/삭제를 해보자 ① 의존성 설정 pom.xml에 5개의 jar 설정 ojdbc6_g.jar, mybatis.jar, spring-jdbc.jar, spring-mybatis.jar, commons-dbcp2.jar org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 org.springframework spring-jdbc 5.0.8.RELEASE org.apache.commons commons-dbcp2 2.5.0 com.jslsolucoes ojdbc6 11.2.0.1.0 ② jdbc.properties 작성 및 등록 jdbc.properties 작성 # src/mai..

WebServer/Spring

[Spring] 빈 객체 스캔 (component-scan)

component-scan이란 빈으로 등록될 준비를 마친 클래스들을 스캔하여 빈으로 등록해주는 것이다. 즉, 사용자가 만든 빈들을 xml에 등록없이 객체를 생성할 수 있다. @Controller @Service @Component @Repository 어노테이션을 붙인 클래스들이 빈으로 등록 될 준비를 한 것이다. 빈 객체 스캔 태그의 base-package 속성으로 지정된 패키지 내 클래스를 검색하여 자동으로 빈 등록 내부적으로 기능을 포함 XML 설정 파일에 여러 빈 정보를 명시적으로 추가하지 않고 자동으로 빈들을 등록 패키지에 있는 모든 클래스들이 빈으로 등록되는 것이 아니며 반드시 어노테이션으로 지정된 빈만 해당 @Component : 포괄적인 마킹 @Service : Service에 사용하는 마..

gangintheremark
갱ㅎr