Java

· 언어/java
자바의 컬렉션은 기존의 배열에서 처리하기 까다로웠던 데이터 처리를 위해서 만든 자바의 데이터 처리 집합이며 Java Collection Framework는 제일 상위 인터페이스인 Collection부터 하위 인터페이스의 구현을 통해 목적에 맞는 데이터 처리를 할 수 있게 해주는 기능을 제공한다. 아래는 Collection Framework의 기본 구성도이다. Collection 인터페이스에는 Set,List,Qeue 인터페이스를 포함하고 있고, Map은 Collection을 상속하진 않지만, Collection에 포함하고있다. Collection의 상세구조는 아래 그림과 같다. 1. Set 순서가 없는 데이터 집합이고, 중복을 허용하지 않는다. set은 따로 인덱스를 제공하지 않으므로 Iterator를 ..
기존에 jdbc+Mybatis를 통하여 개발 프로젝트를 만들다가 JPA를 공부하면서 까먹지 않기 위해 블로그에 기록해 놓았다. 우선 간략하게 JPA를 소개하면, JPA는 기존의 RDB 방식에서 벗어나 ORM을 통해 객체 지향적인 테이블 설계가 가능하고, 기존의 SQL Query가 아닌 method를 통해 직관적인 데이터 조작이 가능하다. JPA의 가장 큰 특징은 아무래도 기존에 데이터를 전달하는 목적(DTO,VO)으로 사용했던 Mybatis와는 달리 객체 지향의 장점(캡슐화,추상화,상속 등의 다형성)을 살릴 수 있다는 것이다. 지금은 환경설정에 대한 글이므로, 자세한건 다음번에 이론을 정리할 때 써야겠다.. - 우선 프로젝트를 새로 만든다면, [New] -> [spring starter project] ..
스프링 부트에서 hibernate 와 JPA 사용 도중 아래와 같은 에러 메세지가 발생. No default constructor for entity 알고보니 해당 Entity에 default constructor를 안만들어줬었다..
스프링 부트 2.1 버전부터는 Bean Override 기능이 불가능하다고한다. 나의 경우 인코딩 설정을 'UTF-8'로 설정을 해주려고 Bean을 등록하던 도중 아래와 같은 에러 코드가 발생하였다. The bean 'characterEncodingFilter', defined in class path resource 위와 같은 Bean 설정 오류가 발생하였을 때는 스프링 설정 파일 [.properties]에 아래와 같이 작성하자 spring.main.allow-bean-definition-overriding=true
이번 스프링 부트를 통한 MVC 설정은 JPA - MySql - Thymeleaf를 통해 만들었습니다. - [build.gradle]에 dependency 추가 dependencies { //jpa,jdbc관련 dependency implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation("commons-dbcp:commons-dbcp:1.4") implementation("org.springframework.boot:spring-boot-starter-jdbc:2.0.1.RELEASE") i..
스프링에서는 XML에서 리소스 경로를 추가해줘야했기 때문에, 스프링 부트에서 리소스 경로를 어떻게 잡아줘야할지 찾아보게 되었고, 스프링 부트의 편리함을 다시 한 번 느낀다.. - 우선 스프링 부트는 [spring-boot-web-starter]에서 이러한 경로들을 미리 잡아준다 - 필요한 정보만 적어보자면, 리소스 경로가 /resources/static/** 이렇게 잡혀있기 때문에 우리가 html이나 jsp에서 리소스 경로를 추가하려면, 저 밑에 폴더와 파일을 생성해주면 된다. - 아래는 내가 설정한 리소스 경로 사진과 실제 적용 코드이다.
프로젝트 만들기(feat. IntelJ) - web만 의존성 체크 후 Next - [auto-import]를 체크해주지 않으면, gradel.duild가 변경되어도 자동으로 빌드가 안된다.(수동으로 빌드를 눌러야함!) 프로젝트 실행 셋팅 - 스프링 부트 플러그인 추가 Gradle - Wrapper : 스프링 부트 프로젝트를 생성하면, gradle-wrapper에 의해 해당 프로젝트에 gradle이 자동으로 설치됨 - gradle 멀티 프로젝트 구성 : 멀티 프로젝트를 구성하면, 코드의 재사용성이 높아지고 한 서비스에 관련된 여러 프로젝트를 마치 하나의 통합 프로젝트처럼 관리할 수 있다 - [setting.gradle]에 다음과 같이 루트 프로젝트를 추가 - 테스트로 사용할 demo-web 모듈 생성 - ..
- 스프링 부트는 스프링에 비해서 간단한 설정만으로 프로젝트를 빠르게 시작하는 것이 가능하다. - 보통 Web Application에서 스프링을 사용할 때는 Spring-Context에서 제공하는 DI 외에도 시큐리티,JDBC,MVC 등 의 다양한 모듈의 설정을 적용한 후 사용해야 하고, 이로 인해 초반에 설정 오류로 많은 시간을 허비하는 경우가 많다. - 기존에 스프링을 사용할 때는 dependency를 추가할 때도 library 버전을 명시해 줘야하지만, 스프링 부트는 설정을 위임하고, 버전 관리도 스프링 부트에 의해 관리된다. - spring-boot-dependencies 스프링 부트의 특징 - Embeded tomcat, jetty, UnderTow를 사용하여 독립 실행이 가능한 스프링 app ..
iron_jin
'Java' 태그의 글 목록 (7 Page)