분류 전체보기

Spring

[Spring] MyBatis 와 Spring 연동하기(2) : DBCP 사용하기

🔻Connection 객체 생성 이전에는 DBUtil.open()으로 DB 연결하여 Connection 객체 생성하는 것을 반복했다. 관리되지않는 Connection 객체들은 메모리를 차지하고 성능을 저하시킨다. 그래서 사용 완료된 Connection들은 close() 해줘야하는데 번거롭다는 문제가 있다. 이것을 보완하기 위한 Connection Pool(커넥션 풀) 이 탄생하였다. 미리 만들어진 Connection Pool를 접속한 사용자에게 대여한다. 사용자가 다 사용하면 시스템이 Connection을 회수한다. 🔻Connection Pool 라이브러리 MyBatis를 사용하기 위해 아래 세가지의 라이브러리 중 하나의 Connection Pool 라이브러리가 설정되어 있어야한다. 1. Commos D..

Spring

[Spring] MyBatis 와 Spring 연동하기(1) : XML Mapper를 사용한 연동

MyBatis 예전에는 iBatis라고 불렀다. 영속성 계층, 데이터베이스 조작 계층으로써 JDBC 역할을 한다. 응용프로그램과 데이터베이스를 연결하는 JDBC 기술인데 JDBC 가 만들어진지 오래되어 생산성이 떨어지는 문제가 있어 보완하기 위해 MyBatis 가 생겨났다. Spring 의 기술인 아닌 융합된 기술이다. #Spring과 Spring Boot의 차이점 초반 세팅의 차이점이다. Spring은 정석으로 자신이 하드코딩해서 설정을 해야하고 Spring Boot는 초반 셋팅을 boot의 도움을 받아 설정한다. Spring의 장점이 Spring Boot의 단점이고 Spring Boot의 장점이 Spring의 단점이다. Spring 회사에서 Spring에서 새로운 기술인 Spring Boot를 사용하..

Spring

[Spring] @Controller 요청 메서드의 반환 자료형

요청 메서드의 반환 자료형 @Controller 어노테이션을 사용하여 작성된 컨트롤러 클래스의 메서드는 다양한 방식으로 데이터를 전송하고 수신할 수 있다. 1. String JSP 파일명을 반환한다. ViewResolver 호출하여 jsp 파일명으로 반환했다. @GetMapping(value="/ex06.do") public String test() { return "ex06"; } 2. void 자동으로 요청주소와 동일한 이름의 jsp 페이지를 찾아서 호출한다. 가독성이 좋지 않아 잘 사용하지 않는다. @GetMapping(value="/ex06.do") public void test() { } 3. String(키워드) redirect forward redirect @GetMapping(value="..

Spring

[Spring] @Controller 기초 및 데이터 송수신하기

🔻Controller 사용자의 입력 및 요청을 받아 해당 요청에 대한 비즈니스 로직을 수행하고, 그 결과를 사용자에게 응답으로 전달하는 주요한 컴포넌트이다. 컨트롤러는 모델과 뷰 사이의 중개자 역할을 하며, 이를 통해 시스템의 구성 요소들 간에 강한 결합을 방지하고 재사용성을 높인다. 🔻Controller 구현 방법 1. Controller 인터페이스 구현 2. @Controller 어노테이션 사용 > 편의성, 간결하다 1. Controller 인터페이스 구현 package com.test.spring.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import or..

Spring

[Spring] 스프링 프로젝트 설정 일괄 적용

pom.xml 상단 groupId, artifactID 프로젝트 맞춰 작성하기 4.0.0 (com.test)프로젝트에 맞춰 바꾸기 (code)프로젝트에 맞춰 바꾸기 (Code)프로젝트에 맞춰 바꾸기 war 1.0.0-BUILD-SNAPSHOT 11 5.0.7.RELEASE 1.6.10 1.6.6 org.springframework spring-context ${org.springframework-version} commons-logging commons-logging org.springframework spring-webmvc ${org.springframework-version} org.aspectj aspectjrt ${org.aspectj-version} org.slf4j slf4j-api ${or..

카테고리 없음

[Spring] Spring MVC Project 구조 살피기

🔻Spring MVC Project 스프링 기반 MVC 웹 프로젝트를 구현하는 것이다. model, view, controller 의 틀을 어느정도 구현하여 제공한다. 🔻설정 파일 : servlet-context.xml Spring 웹 애플리케이션의 웹 컨텍스트 설정을 담당하는 XML 설정 파일이다. 웹 애플리케이션의 웹 구성과 관련된 설정을 포함하고 있다. 경로 : src > main > webapp > WEB-INF > sping > appServlet 구조 네임스페이스 servlet-context.xml 파일에서 beans는 네임스페이스와 함께 사용해야해서 와 같은 형태로 쓰여져있다. 파일마다 네임스페이스를 생략하거나 명시를 해줘야하는 부분이 다르다. View Resolver Spring MVC에서..

Spring

[Spring] Spring AOP 기초 및 예제

🔻Spring AOP AOP : Aspect Oriented Programming 관점 지향 프로그래밍 관점(=관심사)는 업무 구현시 주업무가 아닌 나머지 보조 업무를 의미한다. 횡단 관심사를 별도의 모듈로 분리하여 코드의 재사용성과 유지보수성을 향상시킨다. Spring AOP는 주로 어노테이션 또는 XML 설정을 통해 관심사를 정의하고, 이를 핵심 로직에 적용하여 횡단 관심사를 처리한다. ※기존 방식과 AOP 방식 비교 기존 방식 게시판 글쓰기의 add.do 파일 주업무 : 글쓰기 기능 보조업무 : 권한 체크 주업무와 보조업무를 한 파일에서 구현했다. 어디까지 주업무고 보조업무인지 코드 관리가 불편하다는 단점이 있다. AOP 방식 주업무와 보조업무를 분리시켜서 따로 구현한다. 스프링을 통해서 주업무와 ..

코딩테스트/백준

[코테] 백준 2798번 : 블랙잭 (java)

❓문제 https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 🔅해석 이 문제는 브루트포스 알고리즘에 속하므로 완전 탐색을 하는 문제이다. 그도 그럴것이 주어진 카드의 경우의 수를 다 더해가면서 최대 값을 넘지 않으면서 가장 가까운 값을 찾아야 할 것이다. 그래서 단순하게 for문을 다중으로 돌면서 숫자를 더해줬다. ⭕정답 코드 import java.io.BufferedReader; import java.io.Input..

Spring

[Spring] Spring DI(의존 주입) 예제 및 xml로 의존관계 형성하기

DI, AOP 스프링 전용 기술이 아니고 스프링에서 도입한 기술 중 하나이다. 면접 시 자주 묻는 질문 중 하나이다. 🔻Spring DI DI : Dependency Injection 의 약자로 우리말로는 의존(성) 주입 이라고 한다. 스프링에서 중요한 개념으로 스프링 내의 모든 객체 관리에 사용된다. 정의 : 프로그래밍에서 구성 요소간의 의존 관계가 소스 내부가 아닌 외부 환경에서 정의되게하는 디자인 패턴 객체 간의 결합도를 낮추고 코드의 유지보수성을 높이기 위해 사용한다. DI 예제 src/main/java > "com.test.spring.di01" 패키지 생성 후 하위에는 Main, Hong, Pen 클래스 생성한다. Main.java package com.test.spring.di01; publ..

Spring

[Spring] Spring Framework란

Spring Framework https://spring.io/ Spring | Home Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, whatever your platform. spring.io 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다. 애플리케이션의 구조를 단순화하고 유지보수성을 높이며, 자바 개발자들이 더 효율적으로 개발할 수 있도록 도와준다. Spring 1.0 ~ 6.0 까지 출시되었다. 현재 3.XX ~ 5.XX 까지 주로 사용한다. 수업에서는 5.XX로 진행한다. 콘솔 프로젝트, 응용 프로젝트, 웹 응용 프로젝트에서 사용하지만, 협업에서는 웹 응용 프로젝트 제작에 사용한다. ..

developer of the night sky
'분류 전체보기' 카테고리의 글 목록 (7 Page)