목록콤퓨타 왕기초 (187)
파게로그
Controller, Service, DAO com.ddoongi.web.controller.EmpController @Controller("adminEmpController") @RequestMapping("/admin/emp/") public class EmpController { @Autowired private EmpService service; @GetMapping("list") public String list() { List list = service.getEmpList(); return "admin/emp/list"; } } 차근차근 생각해보자. URL을 통해 request가 들어오면, 일단 Controller가 이 request를 적절한 Service에 전달해야 하고, Service는 자..
디자인 패턴으로서, SE 용어이긴 한데 마침 나와서 써본다. [singleton pattern]velog.io/@kyle/%EC%9E%90%EB%B0%94-%EC%8B%B1%EA%B8%80%ED%86%A4-%ED%8C%A8%ED%84%B4-Singleton-Pattern [Spring에서의 singleton pattern]sabarada.tistory.com/25 [Spring에서의 singleton pattern]webdevtechblog.com/%EC%8B%B1%EA%B8%80%ED%84%B4-%ED%8C%A8%ED%84%B4-singleton-pattern-db75ed29c36 [singleton pattern 전략] n1tjrgns.tistory.com/177 [singleton pattern W..
Spring MVC 모델에서 Model은 application의 상태를, 곧 데이터를 나타내며, 구체적으로는 DAO, DTO, Service로 나눌 수 있다. 스프링 Service & DAO 객체 구현 engkimbs.tistory.com/692 스프링 MVC gmlwjd9405.github.io/2018/12/20/spring-mvc-framework.html 싱글톤 패턴 velog.io/@kyle/%EC%9E%90%EB%B0%94-%EC%8B%B1%EA%B8%80%ED%86%A4-%ED%8C%A8%ED%84%B4-Singleton-Pattern VO 설명(우테코) velog.io/@livenow/Java-VOValue-Object%EB%9E%80 Entity, VO, DTO velog.io/@gill..
다행히 강의에서 MyBatis뿐만 아니라 JPA도 다루지만, 확실히 최근 서비스 기업들은 JPA를 많이 사용한다는 점은 인식하고 있어야 한다. 어찌되었든, 두 기술을 비교한 글이 몇 개 있어 링크를 달아둔다. 몇몇 헷갈리는 것들만 정리해두자면 다음과 같다. - JPA(Java Persistence API)는 Java 어플리케이션에서 RDB를 사용하는 방식을 정의한 인터페이스이다. - 이러한 JPA를 따르는 실제 구현체이자 라이브러리로 쓰일 수 있는 기술이 Hibernate이다. [MyBatis.org] mybatis.org/mybatis-3/ko/index.html [Hibernate ORM 5.3.20.Final User Guide] docs.jboss.org/hibernate/orm/current/u..
타임리프라고 부르는데 간단한 프로젝트에는 많이 쓰인다고 한다. ⛳ 공식 사이트 ▪ 메인 www.thymeleaf.org ▪ Thymeleaf 문서 www.thymeleaf.org/documentation.html ▪ Thymeleaf + Spring 문서 www.thymeleaf.org/doc/tutorials/3.0/thymeleafspring.html ▪ 실습 튜토리얼 itutorial.thymeleaf.org ⛳ 아래 블로그가 처음에 읽기에는 나쁘지 않았다. 템플릿 엔진의 개념과 종류, JSP보다 Thymeleaf를 권장하는 이유를 간단하게 볼 수 있다. velog.io/@dsunni/ Thymeleaf is a modern server-side Java template engine for both..
URL을 기준으로 설명하면 다음과 같다. /board/notice/[ list | detail | edit | reg | del ] /admin/board/notice/[ list | detail | edit | reg | del ] 위와 같이 두 URL이 모두 존재할 수 있다면, 관리자 페이지와 일반 페이지에 대한 Controller의 이름이 모두 NoticeController로서 중복되어 에러가 발생할 것이다. 하지만 구조상으로 위와 같은 구조가 바람직하기에 구조를 변경하기보다는, 이를 유지하면서도 에러를 발생시키지 않는 방법을 차장야 한다. 이 때에는 Controller의 이름을 바꾸기보다는 @Controller("adminNoticeController")처럼 annotation에 별도의 속성값을 ..
Spring Tool Suite 4를 이용해 Spring Boot 프로젝트 만들기 IntelliJ에서 Gradle 프로젝트로 만들어보고 싶지만 일단은 강의를 따라서 Spring Tool Suite 4에서 Maven 프로젝트로 생성해본다. 물론 큰 차이는 없다. 차후에 Gradle을 사용해보기로 하고 일단은 Maven project로 생성해준다. dependencies에 Spring Web을 추가해준다. 오랜만에 main( )을 만났다. Tomcat도 Spring Boot 아래에 있다는 것을 알 수 있다. com.ddoongi.springweb.controller 패키지에 HomeController 클래스를 추가해준다. 이 때 annotation의 스캔 범위가 com.ddoongi.springweb인 점을..
기존의 Spring은 어디서 동작했나? 아래 3개의 단을 모두 Spring Boot가 통합적으로 대체한다. 개발자는 Web Application 개발에만 집중하도록 하기 위해서다. Spring 공식 홈페이지에서는 Spring Boot의 기능에 대해 다음과 같이 기술하고 있다. Create stand-alone Spring applications Embed Tomcat, Jetty or Undertow directly (no need to deploy WAR files) Provide opinionated 'starter' dependencies to simplify your build configuration Automatically configure Spring and 3rd party librarie..