Java/Spring
-
객체지향 프로그래밍(Object Oriented Programming) 객체지향 프로그래밍은 프로그램을 만드는 여러가지 방법 중 하나 입니다. 프로그램을 만드는 각각의 요소(객체)들을 정의하고 구현 해놓은 다음 만들어진 요소(객체)들을 조합해 최종 프로그램을 만드는 방식입니다. 여기서 요소(객체)란 상태와 행위를 가지는 요소라고 생각하면 된다. 간단하게 얘기하면 어떤 상태와 행위를 가지는 객체를 각각 만들어 조합하여 프로그램을 완성하는 방법이다. 예를 들어 자동차의 기능을 만든다고 했을 때 브레이크 기능, 엑셀 기능, 기어 조작 기능 등 여러가지의 기능들을 따로 만들어 조합하면 자동차의 기능이 된다. 장점 - 코드 재사용이 용이 다른 사람이 만든 클래스를 가져와 사용할 수 있고 상속을 통해 확장할 수 있..
객체지향 프로그래밍객체지향 프로그래밍(Object Oriented Programming) 객체지향 프로그래밍은 프로그램을 만드는 여러가지 방법 중 하나 입니다. 프로그램을 만드는 각각의 요소(객체)들을 정의하고 구현 해놓은 다음 만들어진 요소(객체)들을 조합해 최종 프로그램을 만드는 방식입니다. 여기서 요소(객체)란 상태와 행위를 가지는 요소라고 생각하면 된다. 간단하게 얘기하면 어떤 상태와 행위를 가지는 객체를 각각 만들어 조합하여 프로그램을 완성하는 방법이다. 예를 들어 자동차의 기능을 만든다고 했을 때 브레이크 기능, 엑셀 기능, 기어 조작 기능 등 여러가지의 기능들을 따로 만들어 조합하면 자동차의 기능이 된다. 장점 - 코드 재사용이 용이 다른 사람이 만든 클래스를 가져와 사용할 수 있고 상속을 통해 확장할 수 있..
2022.03.23 -
MVC 패턴이란? MVC 패턴은 디자인패턴 중 하나이다. MVC는 Model, View, Controller의 약자입니다. 하나의 어플리케이션을 개발할 때 프로젝트 구성요소를 세가지의 역할로 구분한 패턴입니다. 위 이미지 처럼 사용자가 Controller를 조작하면 Controller는 Model을 통해서 데이터를 처리하고 해당 데이터는 View를 통해 사용자에게 다시 보여지게 됩니다. 실제적 MVC 패턴 구조는 아래와 같습니다. Model 어플리케이션의 데이터를 나타낸다. 자세히 말하면 정보들의 가공을 책임지는 컴포넌트라고 말한다. 컨트롤러의 요청에 의해 DB와 연동하여 데이터를 다루는 일 등 데이터와 연관된 비즈니스 로직을 처리하는 역할을 한다. Model 규칙 1. 사용자가 편집하기를 원하는 모든 ..
MVC 패턴MVC 패턴이란? MVC 패턴은 디자인패턴 중 하나이다. MVC는 Model, View, Controller의 약자입니다. 하나의 어플리케이션을 개발할 때 프로젝트 구성요소를 세가지의 역할로 구분한 패턴입니다. 위 이미지 처럼 사용자가 Controller를 조작하면 Controller는 Model을 통해서 데이터를 처리하고 해당 데이터는 View를 통해 사용자에게 다시 보여지게 됩니다. 실제적 MVC 패턴 구조는 아래와 같습니다. Model 어플리케이션의 데이터를 나타낸다. 자세히 말하면 정보들의 가공을 책임지는 컴포넌트라고 말한다. 컨트롤러의 요청에 의해 DB와 연동하여 데이터를 다루는 일 등 데이터와 연관된 비즈니스 로직을 처리하는 역할을 한다. Model 규칙 1. 사용자가 편집하기를 원하는 모든 ..
2022.03.21 -
Spring Boot 란 Spring Framework 기반 프로젝트를 복잡한 설정을 자동화 해주어 쉽고 빠르게 만들어주는 라이브러리 개발자가 직접 모든 설정을 할 필요 없이 자주 사용되는 기본 설정을 자동으로 해준다. Spring Boot는 실행만 하면 Spring 기반으로 단독 실행 가능한 어플리케이션이 된다. 또한 Spring Boot는 내장 톰캣을 보유하고 있다. WAS가 별도의 설정없이 셋팅되어 있기 때문에 바로 웹개발을 할 수 있다. Spring Framework를 사용하게 되면 기본적인 설정인 web.xml, rootContext.xml, ServletContext.xml 등을 작성해야한다. DB 프로그래밍을 위한 JDBC 설정, 화면을 보여주기 위한 ViewResolver 설정 등 불필요한..
Spring BootSpring Boot 란 Spring Framework 기반 프로젝트를 복잡한 설정을 자동화 해주어 쉽고 빠르게 만들어주는 라이브러리 개발자가 직접 모든 설정을 할 필요 없이 자주 사용되는 기본 설정을 자동으로 해준다. Spring Boot는 실행만 하면 Spring 기반으로 단독 실행 가능한 어플리케이션이 된다. 또한 Spring Boot는 내장 톰캣을 보유하고 있다. WAS가 별도의 설정없이 셋팅되어 있기 때문에 바로 웹개발을 할 수 있다. Spring Framework를 사용하게 되면 기본적인 설정인 web.xml, rootContext.xml, ServletContext.xml 등을 작성해야한다. DB 프로그래밍을 위한 JDBC 설정, 화면을 보여주기 위한 ViewResolver 설정 등 불필요한..
2022.03.21 -
ORM(Object-Relational Mapping) 이란 어플리케이션 클래스와 SQL 데이터베이스의 테이블 사이의 맵핑 정보를 기술한 메타데이터를 사용하여 자바 어플리케이션의 객체를 SQL 데이터베이스 테이블에 자동으로 영속화 해주는 기술이다. 객체는 객체대로 설계하고 관계형 데이터베이스는 관계형 데이터베이스대로 설계한다. 여기서 따로 설계한 객체와 데이터베이스는 ORM 프레임워크가 중간에서 매핑해준다. SQL문이 아닌 Method를 통해 DB를 조작할 수 있어 개발자는 객체 모델을 이용하여 비즈니스 로직을 구성하는데만 집중할 수 있다. 예를 들어 User 테이블의 데이터를 출력하기 위해선 MySQL에서는 "SELECT * FROM user" 라는 쿼리문을 실행해야 하지만, ORM 을 사용하면 Use..
Spring Data JPA, ORM(Object-Relational Mapping)ORM(Object-Relational Mapping) 이란 어플리케이션 클래스와 SQL 데이터베이스의 테이블 사이의 맵핑 정보를 기술한 메타데이터를 사용하여 자바 어플리케이션의 객체를 SQL 데이터베이스 테이블에 자동으로 영속화 해주는 기술이다. 객체는 객체대로 설계하고 관계형 데이터베이스는 관계형 데이터베이스대로 설계한다. 여기서 따로 설계한 객체와 데이터베이스는 ORM 프레임워크가 중간에서 매핑해준다. SQL문이 아닌 Method를 통해 DB를 조작할 수 있어 개발자는 객체 모델을 이용하여 비즈니스 로직을 구성하는데만 집중할 수 있다. 예를 들어 User 테이블의 데이터를 출력하기 위해선 MySQL에서는 "SELECT * FROM user" 라는 쿼리문을 실행해야 하지만, ORM 을 사용하면 Use..
2022.03.21 -
Spring 이란? Java 개발을 편하게 해주는 오픈소스 경량급 *애플리케이션 프레임워크이다. Spring 프레임워크이기 때문에 개발하기 좋은 틀을 제공한다. 가벼우면서 대규모 개발을 지원하는 엄청난 프레임워크이다. 가장 큰 특징으로는 의존성 주입(DI, Dependency Injection), 제어의 역전(IOC, Inversion Of Control)이다. 객체와 객체간 등 서로 결합도를 낮추는 방식으로 어플리케이션을 개발할 수 있다. 위 이미지 출처 : spring.io * 프레임워크 개발을 쉽고 편리하게 개발하기 위한 이미 만들어진 틀을 의미한다. 라이브러리와 다른점은 라이브러리는 개발을 하기 위한 도구를 가져다가 쓰는거고 프레임워크는 이미 만들어진 틀에다가 정해진 규칙에 따라 개발을 해야한다...
Spring 이란Spring 이란? Java 개발을 편하게 해주는 오픈소스 경량급 *애플리케이션 프레임워크이다. Spring 프레임워크이기 때문에 개발하기 좋은 틀을 제공한다. 가벼우면서 대규모 개발을 지원하는 엄청난 프레임워크이다. 가장 큰 특징으로는 의존성 주입(DI, Dependency Injection), 제어의 역전(IOC, Inversion Of Control)이다. 객체와 객체간 등 서로 결합도를 낮추는 방식으로 어플리케이션을 개발할 수 있다. 위 이미지 출처 : spring.io * 프레임워크 개발을 쉽고 편리하게 개발하기 위한 이미 만들어진 틀을 의미한다. 라이브러리와 다른점은 라이브러리는 개발을 하기 위한 도구를 가져다가 쓰는거고 프레임워크는 이미 만들어진 틀에다가 정해진 규칙에 따라 개발을 해야한다...
2022.03.19 -
Apache POI 를 사용하여 Excel 파일을 XSSFWorkbook으로 변환 과정에서 에러가 발생하였다.변환 코드는 아래와 같다.@Servicepublic class MigrationService { private String pw = "8282"; public void customerMigrationService(MultipartFile file) { XSSFWorkbook wb = null; XSSFSheet sheet = null; XSSFRow row = null; XSSFCell cell = null; try { #.xlsx 엑셀파일에 암호가 걸려있어 풀기 위해 사용 POIFSF..
Apache POI Excel 파일 업로드 중 "Zip bomb detected.." 에러Apache POI 를 사용하여 Excel 파일을 XSSFWorkbook으로 변환 과정에서 에러가 발생하였다.변환 코드는 아래와 같다.@Servicepublic class MigrationService { private String pw = "8282"; public void customerMigrationService(MultipartFile file) { XSSFWorkbook wb = null; XSSFSheet sheet = null; XSSFRow row = null; XSSFCell cell = null; try { #.xlsx 엑셀파일에 암호가 걸려있어 풀기 위해 사용 POIFSF..
2021.12.29