본문 바로가기

스프링

(7)
[Spring] framework 와 Spring 에 대해서 알아보기 스프링 이름도 힘든 개발을 했던 겨울이 가고 개발하기 좋은 봄이왔다는 것을 의미한다. 프레임워크와 스프링부트 애플리케이션을 만들 때 프레임워크 없이 개발하는 것은 어렵고 고된일이다. 프레임 워크는 용도에 맞는 일반적인 기능들을 보편적인 방식으로 제공한다. 예를 들어 웹 애플리케이션은 HTTP 프로토콜을 사용하여 사용자 요청에 따른 적절한 응답을 한다. 그래서 웹 애플리케이션 프레임 워크는 HTTP 프로토콜 기반의 요청(request)과 응답(response) 울 처리할 수 있도록 특정 객체나 클래스등을 제공한다. 개발자는 프레임워크에서 제공하는 기능을 사용하면 보다 편리하고 쉽게 애플리케이션을 개발할 수 있으며, 이는 곧 개발자의 개발자의 생산성향상으로 이어진다. 프레임워크를 선택하는 방법도 다양하다. ..
[스프링] 동시성에 대해 공부 좀 했습니다. 🌱동시성 동시성 문제는 멀티 쓰레드 환경에서 발생하는 문제다. 그림처럼 여러 쓰레드가 동시에 동일한 자원에 접근해서 수정을 하는 경우 발생한다. 왜냐하면 동시에 값을 수정했을 때, 각 쓰레드가 기대하던 값과는 다른 형태의 값이 들어올 가능성이 있기 때문이다. 멀티 쓰레드 환경이라고 하더라도 싱글톤 객체에 단순히 '조회'만 하는 것이라면 동시성 문제가 발생하지 않는다. 문제는 동시에 동일한 자원에 접근해서 수정을 했을 때 발생한다. 이런 동시성 문제는 지역 변수에서 발생하지 않는다. 지역 변수는 쓰레드마다 각각 다른 메모리 영역이 할당되기 때문이다. 동시성 문제가 발생하는 곳은 같은 인스턴스의 필드 또는 static 같은 공용 필드에 접근할 때 발생한다. 특히 스프링 빈 처럼 싱글톤 객체의 필드를 변경하여..
[스프링] 프로젝트 생성 (1) https://start.spring.io/ 에서 프로젝트를 생성한다. Gradle project Java 스냅션 없는 2.7.5 버전 Jar 로 Java 는 11 Dependencies Spring web Lombok Generate 선택시 생성 압축 풀기 인텔리제이 File > Open 후 압축을 푼 경로로 build.gradle 찾아 OK 선택하기 Open AS Project 기다리면 된다는데 아래와 같은 문구가 뜬다. (경로를 잘 안잡아줬나 ? ) Please fix JAVA_HOME environment variable. 실행을 누른다 실행 페이지가 떴다
스프링과 스프링 부트에 대해 알아보기 스프링 부트 스프링을 편리하게 사용할 수 있도록 지원 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성 tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨 손쉬운 빌드 구성을 위한 starter 종속성 제공 스프링 3rd parth 라이브러리 자동 구성 메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능 제공 관례에 의한 간결한 설정 스프링 스프링 DI 컨테이너기술 스프링 프레임 워크 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계 스프링의 핵심 개념 스프링은 자바 언어 기반의 프레임워크 자바 언어의 가장 큰 특징 - 객체 지향 언어 스프링은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임 워크 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있..
[ 스프링 ] 의존성 주입 방법 ? 스프링 의존성 주입 하는 방법 🔵 어노테이션 의존성을 연결하는 데는 스프링에서 제공하는 @Autowired, @Required 두 어노테이션을 사용할 수 있다. @Autowired >> 생성자와, 메소드, 필드에 적용할 수 있다. @Required >> 새터 메소드에 적용할 수 있다. 🔵 의존성 주입하는 방법 세가지 생성자 기반의 주입 세터 기반 / 메소드 기반의 주입 필드 기반의 주입 🔵 생성자 기반의 주입 이 방법은 이름에서 알 수 있듯이 이 유형의 주입은 생성자를 통해 수행된다. @Autowired public BinsooService( BinsooRepository binsooRepository ){ this.binsooRepository = binsooRepository } 🔵 세터 기반 / 메..
new -> autowrite 생성자 이해하기 JAVA 의 고전적인 객체 주입 사용법 ✔ TestController public class TestController { private TestService service; public TestController( ) { this.service = new TestService(); } } ✔ TestService public class TestService { public TestService( ) { System.out.print("TestService 생성 완료") } } 위에 TestController 의 생성자에서 하는일처럼 기초적인 자바에서는 new 를 이용해서 객체를 주입해. 즉, TestController 에서 TestService 에 접근하기 위해서 new 를 사용해서 TestServic..
차트 만들기 참고 사이트 js.devexpress.com/Demos/WidgetsGallery/Demo/Charts/ColorEachBar/jQuery/Light/ Color Each Bar Differently - DevExtreme Charts: jQuery Widgets by DevExpress As the Chart assigns one color to one series by default, you need to create a separate series for each bar to color bars differently. For this, employ a series template. Choose a data field and assign it to the seriesTemplate | nameFiel..