일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- php
- Spring Batch
- IntelliJ
- MySQL
- redis
- devops
- Spring Boot
- Design Patterns
- Web Server
- JVM
- jenkins
- java
- db
- jsp
- Git
- tool
- ubuntu
- 요리
- it
- ReactJS
- springboot
- AWS
- javascript
- 맛집
- linux
- Oracle
- laravel
- elasticsearch
- Gradle
- Spring
- Today
- Total
목록Java & Kotlin/Spring (76)
아무거나
[spring] 외부 파일을 이용한 설정 1. Environment 객체 - Environment객체를 이용해서 스프링 빈 설정을 한다. Context -> ( ctx.getEnvironment() ) -> Environment -> ( env.getPropertySources() ) -> PropertySources PropertySources : 프로퍼티 추가 및 추출 추가 : propertySources.addLast() 추출 : env.getProperty() [MainClas.java] public class MainClass { public static void main(String[] args) { ConfigurableApplicationContext ctx = new GenericXmlA..
[spring] 생명주기(life cycle)와 범위 1. 스프링 컨테이너 생명 주기 [ex] public class MainClass { public static void main(String[] args) { // 스프링 컨테이너 생성 GenericXmlApplicationContext ctx = new GenericXmlApplicationContext(); // 스프링 컨테이너 설정 ctx.load("classpath:applicationCTX.xml"); ctx.refresh(); // load메서드를 사용할경우 refresh메서드를 사용하여 반드시 설정이 다 되도록 하여야 한다. // 스프링 컨테이너 사용 Student student = ctx.getBean("student", Student...
[spring] DI 설정 방법 (1) xml파일을 이용한 DI 설정 방법 [Student.java] public class Student { private String name; private int age; private ArrayList hobbys; private double height; private double weight; // 필드 5개중에 3개(name, age, hobbys)를 초기화해주고 2개를 setter를 이용하고 있다. public Student(String name, int age, ArrayList hobbys) { this.name = name; this.age = age; this.hobbys = hobbys; } public void setName(String name..
[spring] DI(Dependency Injection) 활용 1. 의존관계 DI는 Dependency Injection의 약자로 -> "의존주입" 이라 한다. # 생성자를 통한 주입 [Student.java] public class Student { private String name; .... public Student(String name, ....) { this.name = name; ...... } } [applicationCTX.xml] // Setter을 이용할 때 // 생성자를 이용할 때 .... 참고: https://www.inflearn.com/course/%EC%9E%90%EB%B0%94-%EC%8A%A4%ED%94%84%EB%A7%81-%EA%B0%95%EC%A2%8C/das..
[spring] DI(Dependency Injection) - 2 1. 스프링 컨테이너의 이해 package com.javalec.ex; import org.springframework.context.support.AbstractApplicationContext; import org.springframework.context.support.GenericXmlApplicationContext; public class MainClass { public static void main(String[] args) { String configLocation = "classpath:applicationCTX.xml"; AbstractApplicationContext ctx = new GenericXmlApplica..
[ DI(Dependency Injection) 와 IOC컨테이너 ] 정의) A객체는 B/C 객체에 의존한다. 방법 1) 어떤 A라는 객체가 있는데 그 객체가 다른 객체를 필요로할때 new라는 연산자를 사용해서 A라는 객체가 직접 생성한다. ex) new B(); new C(); 방법2) 어떤 A라는 객체가 있는데 B라는 객체와 C라는 객체가 필요로 할 때 A라는 객체가 방법1과 다르게 A라는 객체안에 필드를 만들어 놓는다. b,c 그럼 b,c라는 필드에 대해서 setter() or construct()(=생성자) 생성자일경우 this.b = 매개변수 방식으로 표현한다. 즉, B,C객체를 외부에서 생성해서 A객체가 갖고있는 setter() 또는 생성하는 시점에 construct() 넣어준다. spring..
## 이클립스IDE 기준 [ 스프링 프로젝트 생성 ] 1. 이클립스에 스프링 플러그인 설치(Spring Tool Suite) - Help -> Eclipse Marketplace.. -> STS검색 -> Spring Tool Suite (STS).... install 2. 스프링 프로젝트 생성 - New -> Project -> Spring Legacy Project - 위에 내용처럼 들어가면 프로젝트 생성에 관련된 창이 뜬다. # project name # Simple Spring Maven 선택 // maven 기준으로 생성한다. - 위 내용을 전부 선택 후 finish - 오른쪽 상단에 JavaEE로 되어있는걸 Spring으로 선택해준다. [ DI(Dependency Injection) 와 IOC컨..
[springboot] elasticsearch 5.x 사용(transportClient) elasticsearch는 자바로 개발되었다. 그래서 9300 포트는 자바 네이티브로 API개발이 가능하다. 자바 관점에서 API 분류 - 자바 네이티브 API - TransportClient, NodeClient - HTTP Rest API - restTemplate/Apache HttpClient와 같은 툴로 직접 연결, Jest **** 해당 내용은 NodeClient와 TransportClient로 개발이 쉽게 가능하다는 장점이 있다. 그러나 공식적으로 쓰지 않기를 권고 하고 있다. 기능이 추가되어 버전이 올라갈 때 모델이 바뀌고 있다는 점을 현재 강조하고 있으며, 9200포트를 이용하여 REST API로 ..
[SpringBoot & Handlebars로 화면 생성] Handlebars는 흔히 사용하는 Freemarker, Velocity와 같은 서버 템플릿 엔진이다. -> 현재 Freemarker, Velocity는 몇년동안 업데이트가 되지 않아서 사실상 springboot에서 권장하지 않는다. Freemarker는 프리뷰버전은 계속나오고 있지만 릴리즈가 2015년이다. 현재까지 꾸준하게 업데이트 되고있는 Handlebars나 Thymeleaf이다. spring에선 Thymeleaf를 밀고 있음. [Handlebars 특징] (1) 문법이 다른 템플릿엔진보다 간단하고 (2) 로직 코드를 사용할 수 없어 View의 역할과 서버의 역할을 명확하게 제한할 수 있으며 (3) Handlebars.js와 Handleb..
프로젝트 개발 환경은 다음과 같습니다. IDE : IntelliJ IDEA Ultimate Git Tools : Source Tree OS : Mac OS X SpringBoot 1.5.9 Java8 Gradle 가. springboot + gradle 프로젝트 생성 1. new project -> Spring Initializr -> project SDK에서 자바경로를 선택한 후 Next를 선택 2. Group: com.bk, Artifact: webservice 입력, Gradle Project로 선택 후 Next 선택 - 빌드툴은 아무거나 써도 무방하지만 Gradle이 4.x대로 업하면서 빌드속도가 대폭 개선되었다고 한다. 또한 다양한 Task를 쉽게 생성가능해서 많은 프로젝트에서 도입하려고 한다...