반응형

Back End/Spring 24

[Java 웹개발 마스터] 스터디 4. DI (Dependency Injection) 의존성 주입

의존성 주입에 대해 알려면 우선 Java 에서 말하는 의존성에 대해서 알아야 될 것 같다. 1. 의존성이란? A타입의 변수를 생성하고, 이에 A를 상속하는 B 객체를 초기화하면 이는 B 객체에 의존성을 가진다는 것이다. 즉, 객체들이 의존 관계가 있다는 것은 객체B 에 있는 클래스가 바뀔 때, 객체 A에 있는 클래스가 변경될 수 있다는 것이다. 상속을 알고 있다면 보다 이해하기가 편할 것 같다. 상속 하는 A의 클래스가 변경될 경우 A를 상속 받는 B의 클래스도 이에 영향을 받는 것에서 알 수 있다. 이 때, "B 클래스는 A클래스에 의존성이 있다." 라고 말한다. 자세한 내용은 아래 링크를 참고하면 될 것 같다. 스프링에서 말하는 의존성은 모듈에 필요한 참조 변수나 객체에 의존하는 것이다. 스프링은 의..

Back End/Spring 2021.01.23

[Java 웹개발 마스터] 스터디3. 왜 Getter, Setter 를 사용할까

보통 지금까지 짧은 경험을 한 바로는 웹 페이지를 만들 때 getter, setter 를 많이 사용하는 것 같았다. 보통 프로젝트(?)의 보안을 위해서 외부에서 객체 데이터들을 외부에서 직접 접근이 불가능게 만들어 놓는다. 즉 막아 놓는다고 생각하면 편할 것 같다. 이럴 때 보통 사용하는 방식이 private 를 통해 외부에서 접근을 막아두고 Getter, Setter 을 통해서 접근하는 것이라고 배운 것 같다. 이렇게 하는 이유는 객체의 무결성 을 보장하기 위함인데, 무결성에 대한 설명은 아래 okky 링크를 참고하면 될것 같다. 설명이 잘 되어 있다. okky.kr/article/716403?note=1979724 OKKY | 객체의 무결성이 무엇인가요? Getter와 Setter를 사용하는 이유가 ..

Back End/Spring 2021.01.22

[Java 웹개발 마스터] 스터디2. Lombok 이란

Lombok 이란? lombok 은 웹 프로젝트를 사용하기 편리하게 만들어주는 플러그인이다. getter, setter 와 다른 클래스를 적을 필요 없이 @ (어노테이션) 하나로 심플하고 깔끔하게 처리가 가능하다. 간단하게 설명하여 메서드 작성을 줄여 코드를 보다 간단하게 만들어주는 라이브러리라고 생각하면 된다. Lombok 의 경우에는 getter, setter, toString( ) 의 생성을 안해도 되 코드가 훨씬 깔끔해진다는 장점이 있는 것 같다. 아래는 이번 프로젝트에서 사용한 dao 메서드이다. getter, setter 를 사용할 경우에는 코드가 길어지고 엔티티들이 많아질 경우에 getter, setter 를 더 사용해야되기 때문에, 헷갈릴 것 같다.. public class Example(..

Back End/Spring 2021.01.13

[Java 웹개발 마스터] 스터디1. JPA 사용하기

위 사이드 프로젝트는 패스트 캠퍼스 온라인 강의 Java 웹 개발 마스터 올인원 패키지 Online. 를 수강하면서 진행한 것이다. JPA는 Java Persistant Application 의 약자로 ORM(Object Relational Mapping)을 자바에서 사용하기위한 명세이다. 한마디로 ORM 인터페이스를 모아둔 것이다. 웹 상의 객체와 데이터베이스의 테이블을 맵핑시켜주는 프로그램이라 할 수 있겠다. 1. Gradle 에서 JPA 설정하기 우선 Gradle 에서 JPA 를 사용하기 위해서는 gradle.build 의 dependency에서 implementation 을 사용하여 의존성을 기입해준다. build.gradle 은 Maven 의 pom.xml 과 같은 역할을 한다고 생각하면 된다...

Back End/Spring 2021.01.12

[Spring ] Spring 의 주요 구조에 대한 간단한 개념

Spring 을 공부하면서, Model, Repository, Controller 등 스프링에서 사용하는 구조들에 대해서 어떻게 하면 쉽게 이해를 할 수 있을까 생각을 해보았다. 1. Model Model 은 DAO 라고 생각하면 된다. Data Aeccess Object 의 약자이며 말 그대로 데이터베이스에서 값을 가져와 도메인 오브젝트에 리턴시켜주거나 반대로 도메인의 값을 가져와 데이터베이스에 리턴시켜주는 역할을 맡고 있다. 아래 이미지와 같이 데이터베이스에 리턴 또는 받고자하는 값과 타입들을 기입하면된다. 옛날에는 getter, setter 를 사용했어서 복잡했었지만, lombok 이라는 플러그인의 도움으로 어노테이션을 통해 코드를 보다 심플하게 사용할 수 있게 되었다. 쉽게 말하면, 데이터베이스와..

Back End/Spring 2021.01.10

[ Spring ] JPA 관련 기본 개념 정리 - 갓대희의 작은 공간 일부 캡쳐

스프링을 공부하다가 기억해두어야 할 개념 몇가지가 있어 서칭한 결과 갓대희님의 블로그에 정리가 잘 되어 있어서 일부 캡쳐해서 저장해 두고 나중에 가물가물할 때 참고해서 보아야 겠다. 1. ORM ( Object Relational Mapping) 2. JPA ( Java Persistence API ) - JAVA ORM 기술에 대한 API 표준 명세 3. Hibernate 4. 왜 사용하는가? 5. 장점 6. 단점 참고 링크 (자세한 사항은 나중에 아래 링크를 참고하여 다시 공부할 것) goddaehee.tistory.com/209 [스프링부트 (7)] Spring Boot JPA(1) - 시작 및 기본 설정 [스프링부트 (7)] Spring Boot JPA(1) - 시작 및 기본 설정 안녕하세요. 갓..

Back End/Spring 2020.12.26

[Spring boot] Intellij 의 Spring initializer 가 뜨지 않을 때

보통 intellij 에서 스프링 프로젝트를 만들 경우, community 버전인 경우에는 spring initializer 가 뜨지를 않는다 그럴때는 웹의 링크를 통해서 spring initializer 를 만들어주어야 하는데.. start.spring.io/ 위와 같은 이미지가 뜬다. 프로젝트 하고 각 메타 데이터들을 잘 작성한다. 그리고 추가적으로 dependency에서 spring web 을 선택한 다음에 generate 를 최종적으로 누른 후에 zip 파일은 다운로드 받으면 된다. 스프링은 maven 이므로 project 는 maven project 로 하면 된다.그리고 추가적으로 dependency에서 spring web 을 선택한 다음에 generate 를 최종적으로 누를 것 자세한 사항은 ..

Back End/Spring 2020.12.19

[Spring Project 1] 스프링 기본 개념 스터디 링크 LogBack, Maven

스프링 프레임 워크를 공부하는데 있어 스프링에서 사용하는 기본적인 프레임 워크들을 학습하고 괜찮은 링크들을 스크랩 해두고 있다. 추후 다시 공부할 때 참고하여 학습하도록 하자 1. LogBack 프레임 워크 logback 프레임 워크는 스프링에서 일어나는 에러, 데이터의 이동 등 다양한 로그들을 기록하기 위해 스프링에서 지원하는 외부 프레임 워크이다. 설정을 통해 레벨에 따른 로그를 표시할 수 있고, 파일로 저장도 가능하다. 참고 링크 jeong-pro.tistory.com/154 강력한 자바 오픈소스 로깅 프레임워크, logback 사용법 with example(스프링 부트에서 logback 가이드, l Logback 소개 Logback은 "자바 오픈소스 로깅 프레임워크"로 SLF4J의 구현체이자 스프..

Back End/Spring 2020.12.19

[Spring] FormData 에서 값이 null 로 들어올 때 참고할 점

스프링에서 데이터들을 넘길 때 사용하는 FormData 는 데이터들을 val( ) 지정할 필요없이 한번에 넘길 수 있기에 매우 편리한 태그이다. 평상시에는 잘 사용하지 않지만 이미지 등의 파일을 ajax로 업로드할 때 주로 사용하는 것으로 알고 있다. 사용법 var formData = new FormData( ); 주의할 점 하지만 해당 태그를 사용할 때, 데이터가 넘어가지 않는다면 다음의 몇가지 사항을 고려해야만 한다. 1. 넘기는 데이터 타입을 잘 설정해 주었는지 - 데이터 타입을 잘못 설정해주어도 null 값이 전달될 수 있다. 2. VO 에 타입을 잘 기입해주었는지 - 주의해야하지만, 해당사항은 JAVA 로 MVC 모델을 전부 구성했을 때 참고해야될 사항같다. 3. 오타가 났는지 - 대개는 3번의..

Back End/Spring 2020.12.02

[Spring error] java.lang.IllegalStateException: java.io.FileNotFoundException: C:\Users\Administrator.MSDN-SPECIAL\Desktop\project\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\board\WEB-INF\lib\activation-1.1.jar (지정된 파일을 ..

가끔 프로젝트를 껐다가 키면 나타나는 에러이긴하다.. 나의 경우에는 큰 문제는 없이 무시했었지만.. 에러가 자꾸 발생하여 뒤져본 결과 가끔 씩 톰켓 프로젝트를 스톱시켰다가 다시 재 구동하는 경우 나타나는 에러라고 하는데.. (왜 그런지, 그리고 어떤 문제를 발생시키는지는 발견하지 못했었다..) 그럴 경우에는 두가지 해결책이 있는것 같다 (나중에 추가할 수도..) 1. 프로젝트를 clean 한다 2. 프로젝트를 close 한 후에 다시 켠다 나의 경우에는 1번으로는 안되서, 2번으로 했더니 에러가 발생하지 않았다 자세한 사항은 아래 링크 참고 참고 링크 okky.kr/article/370595?note=1171051 OKKY | 스프링 껐다켰는데 갑자기 오류가 납니다ㅠ 1월 17, 2017 6:38:33 ..

Back End/Spring 2020.10.20
반응형