전체 글

전체 글

    Git 로컬 폴더와 Github 연동 (feat. Git Bash)

    Git 로컬 폴더와 Github 연동 (feat. Git Bash)

    1.연결할 로컬 폴더로 이동 cd 로컬폴더경로 2.로컬 폴더에서 Git 저장소 생성(초기화) 1) git init 2) 로컬 폴더에 [ .git ] 폴더가 생김을 확인 3. Github Repository 생성 (Remote Repository) 4. 해당 Repostiory HTTPS 주소 복사 5. 로컬 저장소와 원격 저장소 연결 git init 후에 (main)이 생김을 확인 git remote add orgin {원격 저장소 HTTPS 주소} 로컬 저장소와 원격 저장소를 연결해준다. git remote -v 연결된 원격 저장소 확인 가능 6. 로컬 저장소에 있는 파일 및 폴더 원격 저장소에 올리기 git add {파일 및 폴더 패턴} git add . → 현재 위치에 있는 모든 것을 스테이징에 올..

    [SpringMVC + MyBatis + MySql] 게시판 CRUD + 페이징처리 + 검색조건 + 조회수

    [SpringMVC + MyBatis + MySql] 게시판 CRUD + 페이징처리 + 검색조건 + 조회수

    결과 게시글 수정 시 작성자는 고정되게 했다. 한 페이지 당 게시글 5개를 담을 수 있으며 넘는다면 페이지 넘길 수 있다. 게시글에서 목록으로 넘어갈 시 페이지 유지 게시글 삭제 세 페이지 유지 게시글 수정 시 수정된 게시글 다시 출력 springMVC 프로젝트와 MyBatis 연동 https://yeo-computerclass.tistory.com/317 [mybatis] springMVC + MyBatis 연동 (스프링MVC + 마이바티스) pom.xml에 라이브러리 설정 ▶pom.xml (부분) org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 org.springframework spring-jdbc 5.0.2.RELEASE mysql mysq..

    Spring Redirect: 다른 URL로 리다이렉트

    Spring Redirect: 다른 URL로 리다이렉트

    Redirect Redirect는 현재 요청에 대한 응답을 뷰로 생성해서 보내는 대신 브라우저에게 새로운 URL로 요청을 다시 보내라고 지시하는 응답 방식입니다. Redirect의 사용 이유는 다음과 같습니다. 페이지 이동 사용자가 한 페이지에서 다른 페이지로 이동해야 할 때 리다이렉트를 사용할 수 있습니다. 예를 들어, 로그인이 성공하면 로그인 페이지에서 메인 페이지로 리다이렉트할 수 있습니다. SEO (Search Engine Optimization) URL 구조를 변경하거나 구형 URL을 새로운 URL로 대체할 때 리다이렉트를 사용하면 검색 엔진이 새로운 URL을 인식하고 새로운 페이지를 색인할 수 있습니다. 이는 검색 엔진 최적화를 향상시키는 데 도움이 됩니다. 중복 제출 방지 폼 처리 후 리다이..

    [mybatis] springMVC + MyBatis 연동 (스프링MVC + 마이바티스)

    [mybatis] springMVC + MyBatis 연동 (스프링MVC + 마이바티스)

    pom.xml에 라이브러리 설정 ▶pom.xml (부분) org.mybatis mybatis 3.4.6 org.mybatis mybatis-spring 1.3.2 org.springframework spring-jdbc 5.0.2.RELEASE mysql mysql-connector-java 8.0.27 DB는 자신이 쓰는 DB에 맞춰서 추가해주면 된다. ▶pom.xml 전체 코드 더보기 4.0.0 com.spring boardApp boardProject war 1.0.0-BUILD-SNAPSHOT 1.6 3.1.1.RELEASE 1.6.10 1.6.6 5.0.2.RELEASE 3.4.6 1.3.2 8.0.27 org.springframework spring-context ${org.springfram..

    Spring Security 스프링 시큐리티 설정

    Spring Security 스프링 시큐리티 설정

    Spring Framework설정 gradle dependencies { // ... // security implementation 'org.springframework.security:spring-security-web:5.0.7.RELEASE' implementation 'org.springframework.security:spring-security-config:5.0.7.RELEASE' implementation 'org.springframework.security:spring-security-core:5.0.7.RELEASE' implementation 'org.springframework.security:spring-security-taglibs:5.0.7.RELEASE' } spring-s..

    Spring 비동기 처리 @Async, CompletableFuture, TaskDecorator

    Spring 비동기 처리 @Async, CompletableFuture, TaskDecorator

    `비동기 처리`는 작업을 별도의 스레드에서 실행하고 결과를 나중에 처리하는 방식입니다. 이를 통해 특정 로직의 실행이 끝날 때 까지 기다리지 않고 다음 코드를 실행할 수 있으며, 결과가 준비되면 이벤트를 받거나 콜백을 통해 처리합니다. Spring Framework 비동기 처리 방식 `Callable`과 `DeferredResult` Spring Framework에서 스레드 기반의 비동기 처리를 지원합니다. `Callable`: 비동기 작업을 `Callable`로 감싸고 `AsyncTaskExecutor`를 통해 별도의 스레드에서 실행합니다. 작업이 완료되면 `Callable`을 반환합니다. `DeferredResult`: 비동기 작업의 결과를 나중에 처리할 수 있는 `DeferredResult`를 반환..

    Spring 파일 업로드

    Spring 파일 업로드

    Spring Framework에서 파일 업로드를 처리하는 가장 일반적인 방식은 `Multipart 파일 업로드`를 지원하는 기능을 활용하는 것입니다. 사용하는 방식은 다음과 같습니다. 1. 의존성 추가 `MultipartResolver` 인터페이스를 구현하는 대표적인 구현체로는 `StandardServletMultipartResolver`과 `CommonsMultipartResolver`가 있습니다. `CommonsMultipartResolver Apacher Commons FileUpload 라이브러리를 사용하여 Multipart 요청을 처리합니다. 이 구현체는 Spring MVC 이전 버전에서 주로 사용되었으며 의존성을 추가해주어야 합니다. dependencies { implementation 'co..

    Spring @SessionAttributes, @SessionStatus: Model과 연동을 통한 상태 유지

    Spring @SessionAttributes, @SessionStatus: Model과 연동을 통한 상태 유지

    HTTP 요청에 의해 동작하는 Servlet은 기본적으로 상태를 유지하지 않아 매 요청이 독립적으로 처리됩니다. `@SessionAttributes` 어노테이션은 컨트롤러 클래스나 메서드에 적용하여 세션에 데이터를 유지하고자 할 때 사용합니다. 이 어노테이션은 특정 Model 속성을 세션에 저장하고 세션에서 해당 속성을 유지하는 역할을 합니다. Session에 데이터를 넣어 유지하는 상황은 다음과 같습니다. 로그인 정보 유지, 장바구니, 여러 페이지에 걸쳐 단계적으로 정보 입력하는 경우 등 @SessionAttributes 속성명 지정 @Controller @SessionAttributes("user") public class UserController { @GetMapping("/user") publi..

    Spring REST API 개념과 흐름도

    Spring REST API 개념과 흐름도

    REST API Rest API는 Representational State Transfer (REST) 아키텍처 스타일을 따르는 웹 서비스를 개발하기 위한 기능과 도구를 제공합니다. `REST`는 클라이언트-서버 간의 통신을 위한 아키텍처 스타일로, 자원을 고유한 식별자(URI)로 표현하고 HTTP 프로토콜을 사용하여 자원에 대한 CRUD (Create, Read, Update, Delete) 작업을 수행합니다. REST API에 대해 공부하거나 예제를 보면 `JSON(JavaScript Object Notation)`을 같이 사용하는 것을 봤을 것입니다. JSON은 데이터를 표현하기 위한 텍스트 기반 형식으로 가볍고, 파싱하기도 쉽고, 사람도 읽기 쉬워서 많이 사용되는 데이터 교환 형식입니다. @Res..

    Spring Model 객체: 컨트롤러에서 뷰로 데이터 전달

    Spring Model 객체: 컨트롤러에서 뷰로 데이터 전달

    Model 객체 Spring MVC의 `Model` 객체는 컨트롤러에서 뷰로 데이터를 전달하는데 사용하는 객체입니다. Model 객체는 컨트롤러 메서드의 파라미터로 선언되어 사용됩니다. 컨트롤러에서 데이터를 추가하면, 해당 데이터는 뷰에서 참조할 수 있게 됩니다. 아래는 `Model` 객체를 파라미터로 받아 `addAttribute()`로 데이터를 추가하고, 해당 데이터를 `dataView`라는 뷰에서 참조할 수 있게 하는 예제 코드 입니다. @Controller public class MyController { @RequestMapping("/getData") public String getData(Model model) { model.addAttribute("name", "Kim"); model.ad..

    Spring @RequestMapping과 이에 대한 속성

    Spring @RequestMapping과 이에 대한 속성

    @RequestMapping @RequestMapping은 Spring Framework에서 HTTP 요청과 컨트롤러 메서드를 매핑하기 위해 사용되는 어노테이션입니다. Controller 클래스 레벨 또는 메서드 레벨에서 사용할 수 있으며, URL과 메서드를 연결합니다. @Controller @RequestMapping("/accounts") public class AccountController{ @RequestMapping("/list") public String accountList(){ return "account_list"; } } 결과로 "account_list" 뷰를 반환합니다. @Controller @RequestMapping("/accounts") public class AccountCo..

    Spring 스프링 MVC란? (feat. 프런트 컨트롤러 구조)

    Spring 스프링 MVC란? (feat. 프런트 컨트롤러 구조)

    스프링 MVC Spring MVC는 Spring Framework에서 제공하는 웹 애플리케이션 개발을 위한 모듈입니다. MVC는 `Model-View-Controller`의 약자로, 애플리케이션의 구조를 이 세 가지 역할로 분리하여 개발하는 디자인 패턴입니다. Spring MVC는 Model, View, Controller를 모듈화하여 개발할 수 있기 때문에 유지보수성과 확장 가능성이 좋아집니다. 스프링 MVC는 `프런트 컨트롤러 패턴` 아키텍처를 사용합니다. `프런트 컨트롤러 패턴`은 클라이언트 모든 요청을 `프런트 컨트롤러`라는 컴포넌트가 받아 중앙 집중적으로 처리하는 디자인 패턴입니다. 공통적인 처리를 `프런트 컨트롤러`에 통합할 수 있기때문에 핸들러에서 처리하는 내용을 줄일 수 있다는 장점이 있습..

    Spring Cookie와 Session (로그인 유지 예제)

    Spring Cookie와 Session (로그인 유지 예제)

    쿠키(Cookie) `클라이언트 측`에 저장되는 작은 텍스트 파일 서버에서 클라이언트로 전송되어 클라이언트 측에 저장됩니다. 클라이언트 요청 시에 요청 헤더에 쿠키를 포함하여 서버에 전송됩니다. 만료 기간을 설정할 수 있어서 일정 기간 동안 유지될 수 있습니다. 클라이언트 측에서 수정 가능하므로 보안에 취약할 수 있습니다. @Controller public class CookieController { @GetMapping("/setCookie") public String setCookie(HttpServletResponse response) { // 쿠키 생성 및 설정 Cookie cookie = new Cookie("username", "Kim"); cookie.setMaxAge(7 * 24 * 60 ..

    Spring 공통적인 작업 처리를 위한 HandlerInterceptor

    Spring 공통적인 작업 처리를 위한 HandlerInterceptor

    HandlerInterceptor Spring Framework에서 HandlerInterceptor는 요청 처리의 전, 후 또는 요청 전체에 대한 처리를 수행하는 인터셉터입니다. 주로 요청의 전처리, 후처리, 예외 처리 등을 담당하여 공통적인 작업을 처리할 수 있도록 도와줍니다. 인터셉터 생성 public class CustomInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // 요청 전처리 작업 수행 // 예: 인증, 권한 체크 return tr..

    Spring Boot Hibernate Validator와 Data Binding: 데이터 유효성 검사와 데이터 연결

    Spring Boot Hibernate Validator와 Data Binding: 데이터 유효성 검사와 데이터 연결

    Validation이란? 유효성 검증으로 전달 받은 데이터 객체의 내용에서 잘못된 내용이 있는지 유효성을 확인합니다. Spring은 주로 다음 두 가지 방식으로 유효성 검증을 합니다. Java Bean Validation Spring validator 인터페이스 구현을 통한 Validation 해당 포스팅에서는 Java Bean 기반으로 간편하게 개별 데이터를 검증할 수 있는 Java Bean Validation에 대해 다루겠습니다. `Hibernate Validator'는 Bean Validation 표준의 구현체입니다. 의존성 추가 dependencies { implementation 'org.hibernate.validator:hibernate-validator:6.2.0.Final' } 제약 조건..

    Spring 다국어 적용하는 방법들

    Spring 다국어 적용하는 방법들

    방법1: .properites 파일 사용 다국어에 대한 메시지를 `프로퍼티 파일`에 저장하고, 해당 파일을 다국어별로 구분하여 작성합니다. 각 언어에 대한 프로퍼티 파일을 생성하고, 메시지 키와 해당 언어에 대한 값을 정의합니다. Spring Framework에서는 `MessageSource` 인터페이스를 사용하여 다국어 메시지를 관리합니다. MessageSource를 구현하는 `ResourceBundleMessageSource` 클래스를 주로 사용합니다. 프로퍼티 파일 생성 한국어인 경우: messages_ko.properties greeting.message=안녕 영어인 경우: messages_en.properties greeting.message=Hello MessageSource 설정 @Confi..

    Spring 트랜잭션

    Spring 트랜잭션

    Spring 트랜잭션 Spring Framework에서 제공하는 트랜잭션 관리 기능을 제공합니다. (트랜잭션이란 데이터베이스나 다른 영속성 저장소에서 여러 개의 연산을 하나의 논리적 단위로 묶어서 원자성, 일관성, 격리성, 지속성을 보장하는 작업 단위입니다.) Spring 트랜잭션 선언적 트랜잭션 관리 Spring은 `@Transactional` 어노테이션을 사용하여 선언적 트랜잭션 관리를 지원합니다. 이를 통해 개발자는 트랜잭션 관련 코드를 직접 작성하지 않고도 간편하게 트랜잭션을 사용할 수 있습니다. 트랜잭션 경계 설정 Spring은 트랜잭션 경계를 설정하여 트랜잭션의 시작과 종료를 자동으로 처리합니다. 경계 안에서 메서드가 정상적으로 종료되면 커밋하고, 예외가 발생하면 롤백합니다. 트랜잭션 경계를 ..

    Spring 스프링 JDBC (feat. JdbcTemplate)

    Spring 스프링 JDBC (feat. JdbcTemplate)

    Spring JDBC `JDBC(Java Database Connectivity)`는 Java 언어를 통해 데이터베이스에 접속하고 SQL 쿼리를 실행하는 데 사용되는 API입니다. `Spring JDBC`는 Spring Framework에서 제공하는 JDBC를 좀 더 편리하게 사용할 수 있도록 기능을 제공하는 모듈입니다. `Spring JDBC`는 추상화된 인터페이스와 유틸리티 클래스, 예외 처리 기능 등을 제공하여 개발자가 간단하게 데이터베이스 액세스를 구현할 수 있도록 도와줍니다. JDBC보다 편리해진 Spring JDBC 연결 관리 및 자원 해제 Spring JDBC는 데이터베이스 연결(Connection)과 자원 해제를 자동으로 처리합니다. JDBC에서는 데이터베이스 연결을 수동으로 열고 닫아야 ..

    Spring 프로퍼티 파일 ( .properties, .yaml), 프로파일(profiles)

    Spring 프로퍼티 파일 ( .properties, .yaml), 프로파일(profiles)

    .properties 파일 Spring 어플리케이션에서 설정 정보(빈 클래스나 의존관계 정보)를 XML로 분리하여 설정 값들을 변경하거나 추가할 때 소스 코드를 수정할 필요 없이 XML 설정 파일을 수정하는 것으로 설정을 업데이트 할 수 있습니다. XML에는 빈 클래스나 의존관계 뿐 아니라 빈이 필요로 하는 설정 정보를 property 값으로 지정해줄 수 있습니다. 이런 property 값 중에서 환경에 따라 자주 바뀌는 것은 `.property 파일`과 같은 별도의 리소스 형태로 분리하였습니다. 이는 어플리케이션의 유연성과 유지보수성을 향상시킵니다. db.driverClassName=com.mysql.jdbc.Driver db.url=jdbc:mysql://localhost/testdb db.usern..

    Spring @ComponentScan, @Import, @Enable

    Spring @ComponentScan, @Import, @Enable

    컴포넌트 검색(Component Scan)을 수행하는 방법은 다음 3가지가 있습니다. 빈 스캐너를 내장한 어플리케이션 컨텍스트를 사용하는 방법 XML을 이용한 빈 스캐너 등록: `` `@ComponentScan` 어노테이션 사용하여 검색 대상 패키지를 지정하는 방법 이번 포스팅에서는 자바 코드 설정을 이용한 방법인 `@ComponentScan`에 대해 설명하겠습니다. @ComponentScan `@ComponentScan` 어노테이션을 사용하면 Spring을 지정된 패키지와 패키지의 하위 패키지를 스캔하여 @Component 어노테이션이 적용된 클래스를 찾아 빈으로 등록해줍니다. @Configuration @ComponentScan("패키지 경로") public class AppConfig{ } @Com..

    Spring 빈 생명주기( Bean Life Cycle )

    Spring 빈 생명주기( Bean Life Cycle )

    빈 생명주기(Bean Life Cycle) 빈(Bean) 생명주기는 Spring Framework에서 관리되는 객체가 생성되고, 초기화되고, 소멸되는 과정을 말합니다. Spring은 빈의 생명주기를 관리하기 위해 다양한 콜백 메서드와 인터페이스를 제공합니다. Spring의 빈 생명주기 관리는 개발자가 별도로 처리할 필요 없이 Spring 컨테이너가 자동으로 처리해주기 때문에 편리합니다. 이를 통해 객체의 초기화 및 소멸에 관련된 로직을 적절히 구현하고 관리할 수 있습니다. 스프링 컨테이너 생성 스프링 빈 생성 의존 관계 주입 초기화 콜백 빈 사용 소멸전 콜백 스프링 종료 아래 이미지는 더욱 상세히 빈 생명주기를 보여주는 이미지입니다. 빈 인스턴스화 및 DI 빈 인스턴스의 생성 Spring 컨테이너는 빈을..

    Spring 빈 스코프 ( Bean Scope )

    Spring 빈 스코프 ( Bean Scope )

    스프링 컨테이너: 싱글톤 컨테이너 Spring Framework에서 빈(Bean)의 기본 스코프로 싱글톤(Singleton) 패턴을 따릅니다. 이는 기본적으로 스프링 컨테이너가 빈을 싱글톤으로 관리하기 때문입니다. 싱글톤 패턴은 어플리케이션 전체에서 단일 인스턴스를 공유하여 메모리 사용량을 줄이고 객체 생성 비용을 절감하는 디자인 패턴입니다. 즉, 스프링 컨테이너가 해당 빈을 생성하고 초기화한 후, 동일한 빈을 요청할 때마다 동일한 인스턴스가 반환됩니다. 이로 인해 다음과 같은 이점이 있습니다. 일관성 여러 곳에서 동시에 빈을 참조하더라도 상태 공유나 동기화 문제 없이 안전하게 사용할 수 있습니다. 여러 개의 인스턴스를 사용할 때 발생할 수 있는 데이터의 불일치 문제를 방지할 수 있습니다. 자원 절약 동..

    Spring @Autowried: 의존 관계 자동 주입

    Spring @Autowried: 의존 관계 자동 주입

    @Autowired @Autowired란 스프링 컨테이너에 등록한 빈에게 의존 관계를 자동으로 주입하기 위해 사용되는 어노테이션입니다. 스프링 컨테이너에 빈들을 모두 등록한 후에, 스프링 컨테이너는 @Autowired 어노테이션이 붙은 생성자, 필드 등을 스캔하고, 해당하는 빈을 찾아 의존성을 자동으로 주입합니다. 생성자 주입 ⭐권장⭐ @Component public class ControllerClass { private final ServiceClass serviceClass; @Autowired public ControllerClass(ServiceClass serviceClass) { this.serviceClass = serviceClass; } } 객체 생성 시점에서 생성자를 통해 의존 관계를..

    Spring 빈(Bean) 등록 방법 ( XML, Annotation, Java 설정 클래스 )

    Spring 빈(Bean) 등록 방법 ( XML, Annotation, Java 설정 클래스 )

    https://yeo-computerclass.tistory.com/268 Spring 스프링 컨테이너: IoC 컨테이너 스프링 컨테이너( IoC 컨테이너 ) 스프링 컨테이너는, 어플리케이션에서 사용되는 객체들을 생성하고 관리합니다. 객체들은 스프링 컨테이너에 의해 생성되고, 컨테이너가 객체의 생명주기를 관 yeo-computerclass.tistory.com 위 내용에서 컨테이너는 BeanDefinition을 기반으로 빈을 생성하고 구성한다 하였습니다. 즉 빈을 등록하기 위해서는 BeanDefinition이라는 메타데이터를 구성해주면 됩니다. BeanDefinition이란 객체 메타데이터를 직접 생성할 수도 있지만, Spring은 XML문서, Annotation, 프로퍼티 파일과 같은 외부 리소스로 빈..

    Spring IoC 컨테이너 계층구조 및 구성(웹 어플리케이션)

    Spring IoC 컨테이너 계층구조 및 구성(웹 어플리케이션)

    IoC 컨테이너 계층 구조 스프링 어플리케이션은 최소한 하나 이상의 IoC 컨테이너는 가져야만 합니다. 모든 스프링 컨테이너는 계층 구조를 가질 수 있습니다. 즉 부모 컨테이너는 하나 이상의 자식 컨테이너를 가질 수 있습니다. 계층 구조 안에 있는 모든 컨텍스트는 각자 독립적인 설정 정보를 이용해 빈 오브젝트를 만들고 관리합니다. DI를 위해 빈을 찾을 때는 부모 어플리케이션 컨텍스트의 빈까지 모두 검색합니다. 부모 컨테이너에 등록된 빈은 자식 컨테이너에서도 사용할 수 있지만, 자식 컨테이너에 등록된 빈은 부모 컨테이너에서 사용할 수 없기 때문입니다. 먼저 자신이 관리하는 빈을 찾아보고 없다면 부모 컨텍스트에게 빈을 찾아달라고 요청하여 찾는다. 만약 부모 컨텍스트에 없으면 그 부모의 부모 컨텍스트에게 까..

    Spring 스프링 컨테이너(IoC 컨테이너)와 빈(Bean)

    Spring 스프링 컨테이너(IoC 컨테이너)와 빈(Bean)

    스프링 컨테이너( IoC 컨테이너 ) 스프링 컨테이너는, 어플리케이션에서 사용되는 객체들을 생성하고 관리합니다. 스프링 컨테이너는 Bean 객체의 생성및 생명주기를 관리해주고, Bean 들을 조립하여 서로를 편리하게 상호 의존(사용)하게 해줍니다. 💁 Bean이란? 스프링 IoC컨테이너에 의해 생성되고 관리되는 객체를 Bean이라고 합니다. 이 객체는 스프링 컨테이너에 의해 관리되기 때문에 자바에서처럼 new Object();로 생성되지 않습니다. 작성한 클래스를 스프링 컨테이너에 빈(Bean)으 등록 해주면, 스프링 컨테이너가 해당 클래스를 이용해 객체를 생성하고 관리해줍니다. 스프링 컨테이너는 IoC 컨테이너라고 불립니다. 컨테이너가 객체에 대한 제어권을 갖고 있다고 해서 IoC(제어의 역전)라고 합..

    Spring 스프링의 핵심 이해: IoC/DI, AOP, PSA

    Spring 스프링의 핵심 이해: IoC/DI, AOP, PSA

    IoC / DI: 제어의 역전 / 의존관계 주입 스프링에서 IoC(Inversion of Control)/DI(Dependency Injection)는 객체지향 개발 방식에서 객체 간의 결합도를 낮추고 유연한 코드를 작성하기 위한 핵심적인 기술 중 하나입니다. 일반적으로 객체를 생성하고 사용하는 방식은 개발자가 코드 안에서 직접 객체를 생성하고 의존성을 설정합니다. 하지만 스프링에서는 이러한 제어권을 개발자가 아닌 스프링 컨테이너가 가져오는데, 이를 IoC(Inversion of Control, 제어의 역전)이라고 합니다. 즉, 개발자가 객체를 생성하고 의존성을 설정하는 것이 아니라, 스프링 컨테이너가 객체를 생성하고 의존성을 설정합니다. DI(Dependency Injection)는 스프링에서 IoC를..

    Spring 스프링이란? ( + POJO )

    Spring 스프링이란? ( + POJO )

    스프링(Spring) 정의 자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크 Spring은 Java 기반의 오픈소스 애플리케이션 프레임워크입니다. Spring은 경량화되어 있어서 프레임워크 자체의 부하가 적습니다. 또한 다양한 모듈로 구성되어 있으며 각각의 모듈은 어플리케이션 개발에 필요한 다양한 기능을 제공합니다. 모듈화되어 있기 때문에 필요한 모듈만 선택해서 사용할 수 있습니다. 또한, 다양한 환경에서 사용할 수 있도록 지원하며, 다양한 개발 도구와 통합이 가능합니다. Spring은 주요 기능으로는 IoC/DI, AOP, MVC, JDBC, ORM, 트랜잭션 처리, RESTful 웹 서비스를 지원 등이 있습니다. 이러한 기능을 활용하여 개발자는 애플리케이션 개발에 집중할 ..

    톰캣(Tomcat) URL 경로 변경

    톰캣(Tomcat) URL 경로 변경

    서버 실행 시 localhost:8080/{프로젝트명} 이 기본값으로 되어있다. 이를 바꾸기 위해선 다음과 같이하면 된다. localhost:8080/ 가 기본값이 되도록 설정해보겠다. 💡방법1: server.xml 수정 1. 톰캣 server.xml에 들어간다. 2. 태그의 path 수정 💡방법2

    톰캣(Tomcat) 다운로드

    톰캣(Tomcat) 다운로드

    1. 톰캣(Tomcat) 사이트로 들어간다. https://tomcat.apache.org/download-80.cgi Apache Tomcat® - Apache Tomcat 8 Software Downloads Welcome to the Apache Tomcat® 8.x software download page. This page provides download links for obtaining the latest versions of Tomcat 8.x software, as well as links to the archives of older releases. Unsure which version you need? Specification versions tomcat.apache.org 2. 받고..