본문 바로가기

전체 글

(97)
Spring 로그인 페이지 설계 1. Dao package com.javalec.spring_test_member.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; public class MemDao { DataSource dataSource; public MemDao() { try { Context context = new InitialContext(); dataSource = (DataSource..
STS 한글 깨짐 현상 해결 1. src→main→webapp→WEB-INF→web.xml에 아래 내용 추가 encoding-filter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 encoding-filter /* 2. Window → preferences → Workspace → 왼쪽 하단 UTF-8로 변경 3. Window → preferences → Web → html, css, jsp Files도 UTF-8로 변경
Spring 프로젝트 설계 - 기본 게시판 DAO(Data Access Object) : Database의 data에 접근을 위한 객체. Database에 접근을 하기 위한 로직과 비즈니스 로직을 분리하기 위해 사용 DB를 통해 데이터를 조회하거나 수정 삭제하는 역할 package com.javalec.spring_mvc_board.dao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.util.ArrayList; import javax.naming.Context; import javax.naming.Initia..
Spring 기초 (5) 스프링 MVC(Model- View - Controller) 개요 의미 : 사용자 인터페이스로부터 비지니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 비지니스 로직을 서로 영향 없이 쉽게 고칠 수 있게 하기 위함 모델 컴포넌트 데이터 저장소(ex: 데이터베이스 등)와 연동하여 사용자가 입력한 데이터나 사용자에게 출력할 데이터를 다루는 일은 함 여러 개의 데이터 변경 작업(추가, 변경, 삭제)을 하나의 작업으로 묶는 트랜잭션을 다루는 일도 함 DAO클래스 Service 클래스에 해당 뷰 컴포넌트 모델이 처리한 데이터나 그 작업 결과를 가지고 사용자에게 출력할 화면을 만드는 일을 함 생성된 화면은 웹 브라우저가 출력하고, 뷰 컴포넌트는 HTML/CSS/JS를 사용하여 웹 브라우저가 출..
Spring 기초 (4) AOP(Aspect Oriented Programming) - 관점 지향 프로그래밍 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하겠다는 것 의존 설정 필요 org.aspectj aspectjweaver 1.7.4 주요 개념 Aspect : 흩어진 관심사(Crosscutting Concerns)를 모듈화 한 것. 주로 부가기능을 모듈화함 Target : Aspect를 적용하는 곳 Advice : 실질적으로 어떤 일을 해야할 지에 대한 것, 실질적인 부가기능을 담은 구현체 aop:before : 메소드 실행 전에 advice 실행 aop:after : 메소드 실행 중 exception이 발생해도 advice 실행 aop:after-returning :..
Spring 기초 (3) 컨테이너 생명 주기 빈 생명 주기 1.implements InitializingBean, DisposableBean 2. @PostConstruct, @PreDestroy→ 어노테이션 안될 때 context 추가 필요! 빈 범위(Scope) bean 설정 MainClass.java 외부 파일을 이용한 설정 Environment 객체 예제 1. AdminConnection.java - 인터페이스를 상속받은 클래스 import org.springframework.beans.factory.InitializingBean; import org.springframework.context.EnvironmentAware; import org.springframework.core.env.Environment; publi..
Spring 기초 (2) 의존 관계 주입(DI) 프로퍼티 설정 Arraylist -> value값 줄 때 list로 감싸고 value 설정 property 태그에 value를 넣은것과 태그 안에 value 태그를 넣는것은 같음 컨테이너의 이해 자바 객체의 생명 주기를 관리하며, 생성된 자바 객체들에게 추가적인 기능을 제공하는 역할을 함. 여기서 자바 객체를 스프링에서는 빈(Bean)이라고 함. new 연산자, 인터페이스 호출, 팩토리 호출 방식으로 객체를 생성하고 소멸시킬 수 있는데, 스프링 컨테이너가 이 역할을 대신해 줌. 즉, 제어 흐름을 외부에서 관리 종류 BeanFactory(인터페이스로 정의되는 빈 팩토리) : 기본적인 의존성 주입을 지원하는 가장 간단한 형태의 컨테이너 ApplicationContext(인터페이스로 정..
Spring 기초 (1) 프레임워크 : 뼈대 프론트엔드 : AngularJS, React, Bootstrap, Vue.js, Node.js, Nexacro 등 백엔드 : Structs, Spring, Spring Boot, 전자정부 등 스프링 프로젝트의 종류 Spring Starter Project : Spring Boot 이용 복잡한 설정 없이 개발 환경이 준비 Embed Tomcat을 사용하기 때문에 따로 톰캣의 버전관리가 필요 없음 dependency 자동화 XML 설정이 필요없음 Spring Legacy Project : JDBC 탬플릿을 이용 복잡하지만 실무에서 많이 사용 스프링 자바 언어 기반 html, css, javascript, jquery 등의 스크립트 언어 DI(Dependency Injection) 객체를 ..