목록Spring (13)
dearbeany

ProductRestController 작성 - 테스트는 Talend에서 한다. @RestController @RequestMapping("/api") public class ProductRestController { @Autowired private ProductService pService; @GetMapping("/product") public ResponseEntity selectAll() { return new ResponseEntity(pService.selectAll(), HttpStatus.OK); } @GetMapping("/product/{id}") public ResponseEntity selectOne(@PathVariable() int id) { return new Response..

■ SpringBoot 의 특징 및 장점 - Spring 사용 시 개발자가 직접 해야만 했던 복잡한 설정을 해결 - 간편하고 자동화된 빌드 및 설정 - 프로젝트에 따라 자주 사용되는 라이브러리들 미리 조합(Best Practice) - 복잡한 설정(XML) 하지 않아도 됨 (자동) - 내장 서버를 제공해 WAS를 추가설치 안 해도 개발, 배포 손쉽게 가능 (독립실행) - WAS 배포하지 않고도 실행할 수 있는 JAR파일로 개발 가능 지난 Spring 게시판 프로젝트를 SpringBoot를 이용한 게시판으로 만들어보자! 1. SpringBoot 프로젝트 생성 - New > Spring Starter Project > SpringBootBoard 프로젝트 생성 (devtools, web, mysql, myb..

SpringBoot 의 장점 (vs Spring) ① Embedded Tomcat - SpringBoot 내부에 Tomcat을 가지고 있기에 따로 설치하거나 매번 버전관리의 수고로움 덜어줌 - 구조적으로 환경 영향을 덜 받기에 운영, 배포가 편함 ② starter를 통한 dependency 자동화 - 과거 Spring에선 각각의 dependency들의 호환되는 버전을 일일히 맞춰야 했고, 하나의 버전을 올리고자 하면 다른 dependency에까지 영향 미쳐 버전관리 어려움 - But, SpringBoot 통해 starter가 대부분의 dependency를 관리 ③ XML설정 하지 않아도 됨 ④ Jar file을 이용해 자바 옵션만으로 손쉽게 배포 가능 더보기 Spring Framework - 자바 플랫폼..

1. Spring DI 1.Bean의 인스턴스화 조립, 관리의 역할, 사용 소멸에 대한 처리를 담당하는 것? 더보기 → Container 2. 스프링 컨테이너에서 빈을 얻어오기 위한 메소드인 getBean()의 반환타입? 더보기 → Object 3. 다음과 같이 생성자 방식으로 의존관계를 주입할 때 Test에서 doWork()를 실행하면 다음의 출력창이 나와야한다. name과 ref 값으로 알맞은 것은? @Autowired public Worker(Computer computer) { this.computer = computer; } public void doWork() { System.out.println(this.computer.getInfo() + " 로 일을 합니다."); } // applicat..

더보기 REST API - HTTP: 통신규약. (이러한 방식으로 쓰겠다~) 구성 자원 :URI (URL과는 엄밀히 다르나 추후에 알아볼 것 ) uri (- url - urn) 행위 : 어떤 방식으로 들어오겠다 표현 => URI와 GET/POST/PUT/DELETE를 사용해서 표현할 수 있다. 기존의 웹 접근 방식과의 차이점 CRUD(생성, 조회, 수정, 삭제) -> 기본 기능 기존의 방식은 /board아래에 write요청을 POST로 보냈다. 왜 POST로 보냈나? 데이터 길이의 제한, 보안, 자료 수정 주로 자료수정하거나 감추고 싶을 때 POST사용했기 때문이다. cf. GET은 자료읽어올 때 사용 ex)Read ?id=2 쿼리스트링은 Key-Value 쌍으로 날린다. 기존의 방식은 board의 기능..

더보기 0. 라이브러리 세팅. 마이바티스, 마이바티스-스프링 1. 루트컨테이너에 dataSource빈 등록 2. SqlSessionFactory 빈 등록 - 1의 dataSource를 주입 - 매퍼위치 - dto들의 위치 3. Dao인터페이스의 풀패키지명과 mapper의 namespace는 일치해야함 - Dao인터페이스의 함수명과 그에 대응하는 mapper(board.xml)의 id와 일치해야함 => mapper를 만들어서 자동으로 매핑해주려고. 4. 3의 조건을 만족할 경우 Mapper를 빈으로 등록하면 Dao의 구현체가 빈으로 만들어짐 - mybatis-spring:scan을 통해 인터페이스가 있는 패키지를 읽음 1. 라이브러리 추가 위해 pom.xml 세팅 (1) MySql 연결 (2) 커넥션 자동..

STS 사용 중에 갑자기 톰캣 오류가 발생했다. 서버를 내렸는데도 8080번을 이미 사용하고 있다고 뜨는 것! 8080번을 사용 중인 프로세스를 죽이면 바로 해결된다! Port 8080 required by Tomcat v9.0 Server at localhost is already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s). lsof -i tcp:8080 서버가 내렸는데 8080포트가 사용 중이라고 나..

MyBatis 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. JDBC로 처리하는 상당부분의 코드와 파라미터 설정 및 결과 매핑을 대신해준다. 데이터베이스 레코드에 원시타입과 Map 인터페이스 그리고 자바 POJO 를 설정해서 매핑하기 위해 XML과 애노테이션을 사용할 수 있다. - JDBC로 처리하는 상당부분의 코드와 파라미터 설정, 결과 매핑(ResultSet)을 대신해준다. - 결국 JDBC를 편하게 해주는 프레임워크 - 하나의 프레임워크로 꼭 스프링이랑 같이 쓰는 건 아니다! 따라서 먼저 예시에선 Java와만 사용을 해보자. 더보기 JDBC: DB와 자바프로젝트를 연결 시켜주는 인터페이스. - JDBC를 쓰기 위해서는 MySQL이 필요했다. 즉 ..