반응형

전체 글 194

[Spring] @Configuration과 @Component 사용법과 차이

스프링을 사용하면서 빈으로 클래스를 등록할 때, @Configuration과 @Component를 사용합니다. 이 둘의 차이를 구분하지 않고 사용하지 않도록 2가지 어노테이션에 대해서 알아보도록 합시다. 1. @Component @Component는 스프링의 컴포넌트 스캔 기능을 사용하여 빈으로 등록될 클래스에 적용할 수 있는 어노테이션입니다. @Component 어노테이션이 붙은 클래스는 스프링이 자동으로 빈으로 등록합니다. 이를 통해 코드 양을 줄이고 더 간결한 코드를 작성할 수 있습니다. @Component 어노테이션은 일반적으로 비즈니스 로직을 수행하는 클래스들에 많이 사용됩니다. @Component public class MyService { public void doSomething() { /..

Back-end/Spring 2023.03.15

[Spring] application.yml로 mysql DB 연동

library라는 테이블을 mysql로 만들고 난 뒤에 설정하는 상황입니다. 1. resources 밑에 application.yml 생성 2. 아래와 같이 설정 (mysql) spring: datasource: url: "jdbc:mysql://localhost/library" username: "root" password: "" driver-class-name: com.mysql.cj.jdbc.Driver "jdbc:mysql://"를 통해서 mysql의 localhost/library DB에 접근합니다.(테이블명을 적는게 아닙니다.) username, password를 설정하고, driver-class-name을 위와 같이 설정하면 됩니다.

Back-end/Spring 2023.03.15

HTTPie for Terminal 설치 방법 및 사용 방법(Mac)

0. HTTPie 사용 이유 포스트맨이나 웹 브라우저를 사용하는 것도 귀찮을 때가 있다. 우리가 사용하는 IDE 터미널에서 바로 요청하고 응답하는 메세지를 확인하고 싶을 때, HTTPie를 사용하면 엄청 간단하게 확인할 수 있다. 1. 설치 방법 1-1. 아래 사이트에 접속하면 상세하게 설명돼 있다. https://httpie.io/ HTTPie – API testing client that flows with you Making APIs simple and intuitive for those building the tools of our time. httpie.io 사이트에 접속 후 아무거나 바로 다운로드 하면안된다. 우리가 사용하는 것은 터미널 용이기 때문이다. 스크롤을 조금 내리면 HTTPie fo..

Back-end/HTTP 2023.03.14

[Spring] AOP 내부 메서드 호출 방법

AOP 내부 메서드 호출 방법 1. 문제 상황 프로젝트에서 AOP를 사용해서 메서드들을 로그로 남겨야 하는 상황이었습니다. 제가 로그로 남겨야 하는 메서드는 외부로 노출된 메서드가 아닌, 외부로 노출된 메서드가 호출하는 내부 메서드입니다. 하지만 AOP는 클래스의 외부함수만 호출됩니다. 1-1. 상황 재연 아래 소스와 같이 외부 메서드가 있고, 외부 메서드가 호출하는 내부 메서드가 있습니다. 저는 외부, 내부 메서드 모두 AOP를 사용해야 했습니다. 1-1-1. 서비스 클래스 @Slf4j @Service public class DeanService { public void externalMethod(String input) { log.info("외부 메서드 시작"); internalMethod(input..

Back-end/Spring 2023.03.12

[JAVA] 다형성 간단한 예제 및 설명

Java에서 다형성이란 Java에서 다형성(Polymorphism)은 객체지향 프로그래밍(OOP)의 중요한 원칙 중 하나입니다. 다형성은 하나의 객체가 여러 가지 타입을 가질 수 있음을 의미합니다. 다형성은 다음과 같은 형태로 구현됩니다. 1. 오버로딩(Overloading) 오버로딩은 같은 이름의 메소드가 매개변수의 타입, 개수, 순서 등의 차이로 인해 다른 동작을 수행할 수 있도록 하는 것입니다. public class Example { public int add(int a, int b) { return a + b; } public int add(int a, int b, int c) { return a + b + c; } } 2. 오버라이딩(Overriding) 오버라이딩은 부모 클래스에서 정의된 메..

[SOLID] 간단한 소스코드 예제 (객체 지향 설계 5가지 원칙)

예전에 올린 글이 있습니다. 거기에는 설명을 풀어서 했다면, 이번글은 소스코드를 보여주려고 작성했습니다. (예전 글 : https://shoney.tistory.com/entry/%EA%B0%9D%EC%B2%B4%EC%A7%80%ED%96%A5-%EC%96%B8%EC%96%B4-SOLID) SOLID 객체 지향 설계와 SOLID 원칙 객체 지향 설계(Object-Oriented Design)란, 객체(Object)를 중심으로 구성하는 소프트웨어 설계 방법을 뜻합니다. 객체는 데이터와 그 데이터를 처리하는 메소드로 이루어져 있으며, 이러한 객체들이 상호작용함으로써 소프트웨어를 구성합니다. 객체 지향 설계를 하는 과정에서 SOLID 원칙을 적용할 수 있습니다. SOLID 원칙은 객체 지향 설계의 다섯가지 원..

Back-end/Spring 2023.03.02

[H2] mac에서 h2 설치 및 실행방법 (spring 연결 예제 포함)

1. 아래 링크에서 h2를 먼저 다운로드 받는다. https://www.h2database.com H2 Database Engine (redirect) H2 Database Engine Welcome to H2, the free SQL database. The main feature of H2 are: It is free to use for everybody, source code is included Written in Java, but also available as native executable JDBC and (partial) ODBC API Embedded and client/server mo www.h2database.com 2. 터미널로 h2설치받은 경로까지 접근한다. 👇🏻 finder로 ..

Back-end/Spring 2023.01.29

[JAVA] Functional Interface 함수형 인터페이스

자바에서 제공하는 함수형 인터페이스 사용 예제를 간단히 살펴보자. 목차는 아래와 같다. 1. Function 2. BiFunction 3. Consumer 4. Supplier 5. Predicate 6. UnaryOperator 7. BinaryOperator 1. Function - T타입을 받아서 R타입을 반환하는 함수 인터페이스 - .apply(T t) 방식으로 사용할 수 있다. - 함수 조합용 메소드로 andThen, compose 함수가 있다. 1-1. 먼저 인터페이스를 상속 받아서 사용 - Function 인터페이스를 상속 받아서 apply를 아래와 같이 구현하면 된다. public class Plus10 implements Function { @Override public Integer a..

[JAVA] 메소드 레퍼런스 (::사용하는 메소드)

이번 시간은 메소드 레퍼런스를 사용하는 4가지 종류를 알아보자. 1. 스태틱 메소드 참조 2. 특정 객체의 인스턴스 메소드 참조 3. 임의 객체의 인스턴스 메소드 참조 4. 생성자 참조 0. 메소드 레퍼런스를 사용할 대상이 되는 클래스는 아래와 같이 작성해보자 public class Greeting { private String name; public Greeting() { } public Greeting(String name) { this.name = name; } public String hello(String name) { return "hello " + name; } public static String hi(String name) { return "hi " + name; } public Stri..

반응형