본문 바로가기

Spring25

[Spring] Spring IOC와 DI 1. IOC(Inversion Of Control : 제어권 역전) 자바가 개발된 초기에는 객체를 생성하고 객체간의 의존관계를 결정하고 제어하는 것은 개발자의 몫이었다. 그러나 Servelt, EJB(Enterprise Java Beans)가 등장하면서, 개발자의 제어권이 Servlet과 EJB를 관리하는 외부의 컨테이너로 넘어갔고 객체의 생성, 관리까지 모든 객체를 제어하는 권한이 프로그램에게 넘어갔다. 이것을 바로 IOC 라고 한다. 2. DI(Dependeny Injection : 의존성 주입) 각 객체간의 의존성을 컨테이너가 자동으로 연결해주는 것 개발자가 빈(Bean : 자바의 IOC 컨테이너가 관리하는 객체) 설정파일에 의존관계에 대한 정보를 입력해두면 컨테이너가 자동적으로 연결해준다. *설정.. 2019. 12. 9.
[SpringBoot] DataBase를 연동한 게시판 구현2 지난 시간에는 데이터베이스를 설치하고 DB developer tool을 이용해 쿼리를 실행하는 단계 까지 진행하였다. 이번 시간에는 Spring boot의 설정값 및 필요한 파일들을 추가하여 Postgresql DB와 연결해보도록 하자. 1. Mybatis 및 Postgresql 의존성 주입을 위한 gradle 설정 - Mybatis 및 Postresql 관련 라이브러리를 사용하기 위해 application.properties 파일의 dependencies에 Mybatis와 Postgresql의 디펜던시를 추가하도록하자. build.gradle // 코드중략 dependencies { // 기존에 있던 문구들 implementation 'org.springframework.boot:spring-boot-.. 2019. 12. 4.
[SpringBoot] DataBase를 연동한 게시판 구현1 일단 DataBase 관련 작업을 하기전에 아래와 같이 게시판 전용 Controller를 생성한 후 URL 매핑 경로를 수정한다. BoardController.java // 코드중략 @Controller @RequestMapping("/board") public class BoardController { @Autowired private BoardService boardService; @RequestMapping("/main") // public String getBoardList(Model model){ List boardList = boardService.getBoardList(); model.addAttribute("boardList", boardList); return "views/board/bo.. 2019. 12. 3.
[SpringBoot] 게시판 구현3(DB 연결없음) 1. VO(Value Object) 생성 - 게시판을 위한 vo를 생성하기 전에 기본적인 디렉토리 구조를 생성하도록 한다. com/example/practice디렉토리 바로밑에 3개의 디렉토리를 생성한다. VO를 모아둘 vo디렉토리 로직을 수행할 클래스를 모아둘 service디렉토리 지금은 아니지만 추후에 DB와 연결할때 사용할 repository디렉토리 - 구조를 완성했다면 생성한 vo 디렉토리 바로 밑에 "BoardVo" 클래스를 생성한다. 필드 중에 당장 사용하지 않을 값들이 있지만 일단 작성하도록한다. BoardVo.java package com.example.practice.vo; public class BoardVo { private Long no; private String title; pr.. 2019. 11. 17.
[SpringBoot] 게시판 구현2(DB 연결없음) 1. 게시판 페이지 경로 설정 게시판은 일단 가지고 있던 html 파일과 css 파일로 작업을 할 것이다. 경로는 아래와 같이 만들고, 여기서 주시해야할 파일은 resources/static/css/board.css 파일과 resources/templates/views/board/board.html파일이다. css파일 및 html 파일이 따로 없으면 아래의 html 코드만 사용하도록한다. resources/templates/views/board/board.html MySite 로그인 회원가입 회원정보수정 로그아웃 jh님 안녕하세요 ^^; 번호 제목 글쓴이 조회수 작성일 1 안녕하세요~ 이효리 13 2019-11-11 삭제 ◀ 1 2 ▶ 글쓰기 jh 방명록 게시판 (c)opyright 2015, 2016,.. 2019. 11. 12.
[SpringBoot] 게시판 구현1(DB 연결없음) SpringBoot 게시판 구현1(DB 연결없음) 1. 타임리프 라이브러리 추가 게시판구현을 할 때 Thymeleaf 템플릿 엔진을 사용할것이다. (아래내용 참고) https://github.com/ihoneymon/spring-boot-orm-learn/blob/master/THYMELEAF_TEMPLATE_ENGINE.md#thymeleaf-%EC%9D%B4%EC%95%BC%EA%B8%B0 이제 바로 적용하도록 해보자. 아래 링크에 정리가 잘되어있어서 그대로 따라하면 된다. https://github.com/ihoneymon/spring-boot-orm-learn/blob/master/THYMELEAF_TEMPLATE_ENGINE.md#%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8.. 2019. 11. 12.
[SpringBoot] Project 생성 1. SpringBoot Project 생성 1. Gradle 프로젝트 생성File > New > Project 를 선택하고 아래 순서를 따른다. 2번째 사진참조GroupId자신의 프로젝트를 고유하게 식별하게 해 주는 것package 명명 규칙을 따른다.ArtifactId?제품의 이름으로, 버전 정보를 생략한 jar 파일.프로젝트 이름과 동일하게 설정.소문자로만 작성함. 특수문자는 사용 xVersion?SNAPSHOT: 개발용, RELEASE: 배포용숫자와 점을 사용하여 버전 형태를 표현(1.0, 1.1, 1.0.1 등) 2. 프로젝트 실행 Run 버튼(or Ctrl + F11)을 눌러서 프로젝트를 실행한다.실행도중 아래와 같은 오류가 나면 아래링크를 참조한다. https://github.com/Yuja.. 2019. 11. 12.