일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- IntelliJ
- Spring Boot
- redis
- javascript
- jsp
- AWS
- ubuntu
- elasticsearch
- Gradle
- devops
- tool
- MySQL
- it
- Git
- Oracle
- 맛집
- 요리
- ReactJS
- java
- Design Patterns
- Spring Batch
- laravel
- db
- jenkins
- linux
- JVM
- Spring
- springboot
- Web Server
- Today
- Total
목록Spring (78)
아무거나
[spring] AOP(Aspect Oriented Programming) - 2 1. @Aspect 어노테이션기반의 AOP구현 작업순서 (1) 의존 설정(pom.xml) [pom.xml] ......... org.aspectj aspectjweaver 1.7.4 (2) @Aspect 어노테이션을 이용한 Aspect클래스 제작 [LogAop.java] import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.an..
[spring] AOP(Aspect Oriented Programming) - 1 개발시에 공통적인 기능이 많이 발생한단. 이러한 것들을 모든 모듈에 적용하기 위한 방법으로 상속을 통한 방법이 있다. 하지만 상속에는 몇가지 문제가 있다. JAVA에는 다중 상속이 불가하며 다양한 모듈에 상속기법을 통한 공통 기능 부여는 한계가 있다. 그리고, 기능 구현부분에 핵심 기능 코드와 공통 기능 코드가 섞여 있어 효율성이 떨어진다. ( 즉, 코드가 core기능이나 필요기능등. 다 짬뽕되어서 코드의 양이 많아지고 유지보수가 어려워진다. ) 그래서 AOP가 등장했다. AOP는 핵심 기능과 공통 기능을 분리 시켜놓고, 공통 기능을 필요로 하는 핵심 기능들에서 사용하는 방식이다. [ex - 밥만들기] 물을 받고 -> 쌀을..
[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..
- java코드에다가 필요한걸 직접 생성해서 쓰면되는데 굳이 DI를(스프링 설정파일 = xml파일) 생성하여 값을 정의하고 설정하는 번거로운 행위를 왜 할까?에 대한 내용이다. 예를 들어, 인터페이스를 사용하는 이유는 타입을 통일할 수 있으며, 강제적으로 무조건 오버라이드해서 작업을 통일시키는등의 여러 장점이 있다. 그런 장점들은 대규모 프로젝트(팀 단위 프로젝트)를 할 때 큰위력을 발휘한다. 그러므로 스프링의 DI도 사용하면 추후 유지보수 업무가 발생시에는 DI를 이용한 개발의 장점을 느낄 수 있다. AbstractApplicationContext ctx = new GenericXmlApplicationContext("classpath:applicationCTX.xml"); Pencil pencil =..
[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컨..