| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- docker
- Linux
- 책
- spring
- 후기
- mysql
- 네트워크
- SQL
- mssql
- 독서
- Javascript
- 명령어
- 오블완
- DBMS
- PostgreSQL
- pandas
- oracle
- 개발
- AI
- java
- MariaDB
- Python
- 티스토리챌린지
- 개발자
- 리눅스
- IntelliJ
- 자바
- react
- 책추천
- git
- Today
- Total
목록SPRING (85)
hanker
프로젝트를 실행했는데, view 화면은 잘 불러와지지만 정적파일(js, css, image) 파일들이 404 Error가 뜰 때 조치하는 방법에 대해서 알아보자. 디렉터리 구조 예시src/└── main/ └── webapp/ ├── css/ │ └── style.css ← 정적 리소스 (브라우저 접근 가능) ├── js/ │ └── script.js ├── images/ │ └── logo.png └── WEB-INF/ ├── views/ │ └── home.jsp └── web.xml css, js, images 폴더는..
웹 프로젝트를 진행하다 보면 javax나 jakarta servlet을 사용하는데 대체 뭐가 다른지 알아보자. 1. javax와 jakarta란? 1-1. javax (Java Extension API) javax는 Java의 확장 API를 위한 패키지 네임스페이스이다.Java EE(Enterprise Edition) 애플리케이션 개발에 필요한 핵심 기술들을 포함하고 있다. javax.servlet - 서블릿 APIjavax.persistence - JPA(Java Persistence API)javax.validation - Bean Validationjavax.ws.rs - JAX-RS (RESTful 웹 서비스)javax.inject - 의존성 주입javax.transaction - 트랜잭션 관리..
Gradle에서 JAR/WAR 파일을 멀티 아카이브 형식으로 생성할 때, 보통 아래 두 가지를 만들어준다.project-name.warproject-name-plain.war 일반적으로 war파일이 생성되는 건 알겠는데, plain.war는 뭘까 plain.war Spring Boot는 기본적으로 내장 Tomcat을 포함한 실행 가능한 JAR 또는 WAR 파일을 만들 수 있다. Gradle에서 생성된 project-name.war는 내장 Tomcat이 포함된 실행 가능한 WAR 파일이므로 java -jar project-name.war 명령으로 바로 실행할 수 있다. 하지만 -plain war로는 실행이 불가능하다.-plain.war는 실행에 필요한 의존 라이브러리나 부트스트랩 설정이 포함되지 ..
Spring AOP를 사용하여 웹 서비스에서 이벤트가 발생할 때 DB에 기록하는 로직을 만들어보자. 1. 설정 우선 AOP를 사용하기 위해 의존성을 추가해줘야 한다.pom.xml org.springframework.boot spring-boot-starter-aop application.propertiesspring.aop.auto=truespring.aop.proxy-target-class=true spring.aop.autotrue: @EnableAspectJAutoProxy를 자동으로 활성화false: AOP 자동 설정 비활성화, 수동으로 설정해야 함기본값: true (Spring Boot에서는 보통 생략 가능)spring.aop..
해당 오류로 인해 실행이 안되는데, 해당 오류 해결 방법을 알아보자.Caused by: java.util.ConcurrentModificationExceptionat java.util.Hashtable$Enumerator.next(Hashtable.java:1387)at org.mariadb.jdbc.Configuration.mapPropertiesToOption(Configuration.java:611)at org.mariadb.jdbc.Configuration.parseInternal(Configuration.java:589)at org.mariadb.jdbc.Configuration.parse(Configuration.java:518)at org.mariadb.jdbc.Driver.connect(D..
https://hanke-r.tistory.com/entry/Redis-Spring-Boot-Redis%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EC%8B%A4%EC%8B%9C%EA%B0%84-%EA%B2%80%EC%83%89%EC%96%B4-%EC%88%9C%EC%9C%84-%EB%A7%8C%EB%93%A4%EA%B8%B0-2-Spring-Redis-%EA%B2%80%EC%83%89%EC%96%B4-%EC%A0%80%EC%9E%A5 Redis - Spring Boot + Redis를 사용하여 실시간 검색어 순위 만들기 (2) Spring Redis 검색어 저장https://hanke-r.tistory.com/entry/Redis-Spring-Boot-Redis..
Spring Boot에서 Maven을 사용해 .jar 파일을 생성해보자. 1.pom.xml 코드 확인 org.springframework.boot spring-boot-maven-plugin - 해당 코드가 없으면 추가해줘야 한다. 2. mvn install (mvn package) Intellij Tool 우측에 M아이콘 클릭 > Livecycle > package 버튼을 클릭해서 jar파일 생성 3. target 폴더 확인 밑에 터미널 창에서 Success가 뜨면 target폴더가 생성되고, 프로젝트 명.jar파일이 생성된다. 4. terminal 창에서 실행 Tool진행해도 상관없지만, 터미널 창에서..
Spring boot에서 분명히 thymeleaf 의존성을 설정해 주고 layout을 사용했는데 layout 적용이 안된다. 아래 글에서 해결 방법을 알아보자. dependency 설정 1. 최초 프로젝트 셋팅할때에 설정하거나, pom.xml 또는 gradle에 추가해 준다. org.springframework.boot spring-boot-starter-thymeleafimplementation("org.springframework.boot:spring-boot-starter-thymeleaf")- 최초 설정 시 이렇게만 추가하고 layout을 사용해 보면 layout이 적용이 안되는데, layout을 사용하기 위해서는 추가 의존성 주입을 해줘야 한다. 2. 추가 의존성 주입 nz..
Spring Boot 에서 파일을 생성하고 해당 파일들을 참조하거나 찾을 때 404Error 가 발생하는데, 정적 자원을 사용하기 위해서는 따로 설정을 해주어야 한다. 파일들을 추가하고 경로 지정하고 불러오려고 해도 404Error 가 발생하는 상황에 Configuration 클래스를 하나 만들어주면 해결된다. import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Config..
대부분의 경우 / 를 사용하면 null과 빈 문자열("")을 모두 처리할 수 있어서 편리하지만,무조건 isEmpty만 사용하는 것이 항상 최선은 아니다. || 1-1. 빈 문자열("")은 허용하고 null만 체크하고 싶을 때- 는 null과 "" 모두 체크하므로, 값이 빈 문자열일 때도 조건이 실행됨- 만약 빈 문자열("")은 허용하고 null만 체크하고 싶다면 을 사용해야 함 name IS NULL 1-2. 입력값이 공백(" ")이 포함될 가능성이 있을 때- 는 " "(공백이 있는 문자열)을 비어 있는 값으로 판단하지 않음.- 예를 들어, 사용자가 " "(스페이스 한 칸)만 입력한 경우, 는 이를 "값이 있는 것"으로 간주하고 조건이 실행됨. > 해당 경우에 Java에서 공백을 trim()..