[Spring] @RestController 적용하기
·
🔻Back-End/Spring
❗상황"getMapping sayHello Method run" 이란 문자열을 Get방식을 통해 브라우저에 바로 출력하고자 해서  @Controller와 @GetMapping ("/hello")로 API를 생성한다. 하지만 /hello 경로로 접근하면 오류가 발생한다.  ❗RestController기존의 @Controller는 객체 정보를 바로 출력해 주는 것이 아니라 리턴값이 view(html이나 thymeleaf)를 반환하기 때문에 view로 데이터를 보내기 위해 model을 사용했다.RestController는 Rest API에서 많이 사용되는 방식으로 데이터를 뷰로 반환하는 게 아니라 Json 형태로 반환하여 프론트엔드에서 이 정보를 활용할 수 있게 한다.따라서 @RestController = @..
[Spring] REST API
·
🔻Back-End/Spring
❗RestREST(REpresentational State Transfer)는 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것으로자원(resource)의 표현(representation) 에 의한 상태 전달을 의미한다. ✏️자원의 표현-자원: 해당 소프트웨어가 관리하는 모든 것 ex) 문서, 그림, 데이터, 해당 소프트웨어 자체 등-자원의 표현: 그 자원을 표현하기 위한 이름 ex) DB의 학생 정보가 자원일 때, 'students'를 자원의 표현으로 정함-url만으로 이 API가 어떤 기능을 할 것인지 추측 가능✏️상태(정보)의 전달-URL로 데이터에 접근-데이터가 요청되어지는 시점에서 자원의 상태(정보)를 전달-JSON이나 XML을 통해 데이터를 주고 받음-REST는 네트워크 상에서 ..
[Spring] localhost:8080에 로그인 화면 보일 때
·
🔻Back-End/Spring
❗문제 상황스프링 시큐리티를 적용 후 실행한 다음 결과를 보기 위해 localhost:8080로 들어갔더니 로그인하라는 창이 나왔다다른 창으로 이동하려고 해도 계속 떠있어서 해결하려 한다 ❗해결 방법아이디엔 user를 비밀번호는 스프링을 실행하면 알려준다아이디엔 admin, 비밀번호는 스프링이 알려준 비밀번호를 입력하면 안으로 접속할 수 있다!
[Spring error] Spring Boot Configuration Annotation Processor not configured 에러
·
🔻Back-End/Spring
❗해결 방법build.gradle에 의존성 추가dependencies { annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"}
[Spring error] SLF4J: Class path contains multiple SLF4J bindings 에러
·
🔻Back-End/Spring
❗에러spring의 기본 logging 설정은 logback, 하지만 log4j2을 사용하려다 보니 에러가 발생했다 그래서 이 에러는 라이브러리가 중복되어 발생하는 binding 에러이다 ❗해결 방법1. gradle에서 SLF4J 의존성을 제거configurations { all { exclude group: 'ch.qos.logback', module: 'logback-classic' exclude group: 'org.apache.logging.log4j', module: 'log4j-to-slf4j' } compileOnly { extendsFrom annotationProcessor }} 2. spring logging을 제거configu..
[Spring] Gradle 버전 낮추기
·
🔻Back-End/Spring
박스 친 부분에 원하는 gradle 버전을 적고 다시 싱크해준다
[Spring error] import io.jsonwebtoken.*; 오류
·
🔻Back-End/Spring
JWT토큰을 사용하기 위해 import io.jsonwebtoken.*;를 했는데 오류가 발생했다 ❗해결 방법1. gradle 버전 낮추기gradle이 7이상은 사용할 수 없다고 해서 버전을 6번대로 내려주었다  2. gradle dependencies refresh1번 방법으로 gradle 버전을 변경했지만 여전히 import되지 않았다gradle refresh를 하고 다시 의존성을 다운하라는 것을 보고 리프레시했더니프로젝트의 위치로 이동 후.\gradlew --refresh-dependencies 입력 정상적으로 import되었다!
[Spring] @Annotation(어노테이션)
·
🔻Back-End/Spring
❗Annotation사전상으로 '주석'이란 뜻자바에서는 코드 사이의 주석처럼 쓰이며 특별한 기능을 수행하도록 함프로그램에게 추가적인 데이터를 제공하는 메타데이터(meta data: 데이터를 위한 데이터)@를 통해 코드량이 감소하고 유지보수하기 쉬우며, 생산성이 증가함 ❗어노테이션 사용 순서1. 어노테이션을 정의2. 클래스에 어노테이션 배치3. 코드가 실행되는 중 Reflection을 이용하여 추가 정보를 획득하여 기능 실행 ❗Reflection-Reflection: 프로그램이 실행 중에 자신의 구조와 동작을 검사하고, 조사하고, 수정하는 것-프로그래머가 데이터를 보여주고, 다른 포맷의 데이터를 처리하고, 통신을 위한 serialization(직렬화)를 수행하고, building을 하기 위해 일반 소프트웨..
[Spring error] DB connection 오류
·
🔻Back-End/Spring
❗오류 메시지프로젝트를 DB와 연결하지 않고 서버를 실행하면 발생하는 오류이다 ❗해결 방법@SpringBootApplication을@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})또는@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, HibernateJpaAutoConfiguration.class}) @EnableTransactionManagement로 바꿔준 후 스프링 실행한다! 아니면 실제 사용할 DB를 구축하기 전에는 H2 데이터베이스를 연결하고 추후 변경해도 된다..
[Spring] 스프링 입문 4차시
·
🔻Back-End/Spring
❗이전 시간에 배운 것멤버 객체와 서비스, 리포지토리를 만듦서비스를 통해 멤버를 가입하고 리포지토리에 저장하고 정보를 꺼내올 수 있었음테스트 케이스도 만듦  ❗오늘 배울 것원 컨트롤러가 회원서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비  ❗컨트롤러 만들기참고: 스프링은 스프링 컨테이너에 스프링 빈을 등록할 때, 기본으로 싱글톤으로 등록한다(유일하게 하나만 등록해서 공유한다) 따라서 같은 스프링 빈이면 모두 같은 인스턴스다. 설정으로 싱글톤이 아니게 설정할 수 있지만, 특별한 경우를 제외하면 대부분 싱글톤을 사용한다.     ❗스프링 빈을 등록하는 방법1. 컴포넌트 스캔과 장동 의존관계 설정(@을 달아서 표시해줌) 2. 자바 코드로 직접 스프링 빈 등록하기
_니지
'🔻Back-End/Spring' 카테고리의 글 목록 (3 Page)