1. ๋ฌธ์ ์ํฉ SecurityConfig.class ์์ mvc.ignoring์ผ๋ก ์ค์ ํ uri ๋ค์ด ์๊พธ ๋ฌด์๋๊ณ ๊ทธ๋๋ก Security Filter๋ฅผ ๊ฑฐ์น๋ ๋ฒ๊ทธ ๋ฐ์ 2. ๋ฌธ์ ํด๊ฒฐ ISSUE #1๋ฒ์์ ๋ฐ์ํ ๋ฌธ์ ์ ๋๊ฐ์ด JwtTokenFilter์ ์๊ฐ ์์ด @Component๋ฅผ ๋ฌ๊ณ SecurityConfig์์ new๋ก ๋ค์ ์์ฑํด์ ์ค์ ํ ๊ฒ์ด ๋ฌธ์ ์๋ค. @Component๋ก ์ธํด ์ดํ๋ฆฌ์ผ์ด์
์คํ ์ ํํฐ์ ์๋ ๋ฑ๋ก๋์๊ณ ๋ด๊ฐ ํ ๋ฒ ๋ ์์ฑํด ๋ฒ๋ ค์ ๊ผฌ์ฌ๋ฒ๋ฆฐ ๊ฒ์ด๋ค. ๊ฒฐ๋ก JwtTokenFilter์์ @Component๋ฅผ ์ญ์ ํ๋ฉด ๋๋ค!
๐จ๐ฉ๐ง๐ฆ Project
๋จ๊ณ๋ณ๋ก ์ฑ์ฅํ์!1. ๋ฌธ์ ์ํฉ application.yml spring: datasource: driver-class-name: org.mariadb.jdbc.Driver url: jdbc:mariadb://test:3306/test?characterEncoding=UTF-8&serverTimezone=UTC username: test password: test datasource์ url์ ํฌํธ๋ฅผ 3305์์ 3306์ผ๋ก ๋ณ๊ฒฝํ์ฌ jarํ์ผ์ ๋น๋ํ๊ณ ์คํํ๋๋ ์ฌ์ ํ 3305ํฌํธ๋ก ์ฐ๊ฒฐ์ ์๋ํ๊ณ ์ฐ๊ฒฐ์ ์คํจํ์ฌ ์ค๋ฅ๊ฐ ๋๋ ์ํฉ์ด ๋ฐ๋ณต๋์๋ค. intellij๋ฅผ ๊ป๋ค ์ผ๋ณด๊ณ gradle clean์ ํด๋ณด๊ณ ํ์ง๋ง ํด๊ฒฐ์ด ์๋๋ ์ํฉ์ด์๋ค. 2. ์ด๋ป๊ฒ ํด๊ฒฐํ๋? ๋ฌด์กฐ๊ฑด ์บ์์ ๋ฌธ์ ๊ฐ ์์๊ฑฐ๋ผ ์๊ฐํ๊ณ Intelli..
1. ๋ฌธ์ ์ํฉ ์ฌ์ฉ์๊ฐ ๋ฐ๋ฉ์ ์ง์ ์ ํด์ง ์๊ฐ ๋ด๋ก ํ์ง ์์์ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ ํ๋ํฐ๋ฅผ ์ฃผ๊ณ ์๋ฒ์์ ์๋์ผ๋ก ๋ฐ๋ฉํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด์ผ ํ๋ค. ์ด๋ป๊ฒ ๊ตฌํํด์ผ ํ ๊น ๊ณ ๋ฏผํ๋ค๊ฐ "API๋ฅผ ๊ตฌํํด ๋๊ณ cron ๋ช
๋ น์ผ๋ก ์ ํด์ง ์๊ฐ๋ง๋ค ํธ์ถํด์ผ ํ ๊น?"๋ผ๊ณ ์๊ฐํ๊ณ , Spring์๋ ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ฃผ๋ ๊ฒ์ด ์๋์ง ์ฐพ์๋ณด์๋ค 2. ์ด๋ป๊ฒ ๊ตฌํํ ๊น? ์ฐ์ Spring์ ์ค์ผ์ค๋ง์ ๋์์ฃผ๋ ๊ธฐ๋ฅ์ด ์๋์ง ์์๋ณด์๋ค. @Scheduled ์ด๋
ธํ
์ด์
์ ์ฌ์ฉํ๋ฉด ์ผ์ ํ ์๊ฐ ๊ฐ๊ฒฉ ๋๋ ํน์ ์๊ฐ์ ํด๋น ์ฝ๋๋ฅผ ์คํํ๋๋ก ์ค์ ํ ์ ์๋ค๊ณ ํ๋ค. 3. @Scheduled๋ฅผ ์ ์ฉํด๋ณด์ (1) ๋จผ์ Main Application class์ @EnableScheduling ์ด๋
ธํ
์ด์
์ ์ถ๊ฐํ๋ค. @SpringB..
1. ๋ฌธ์ ์ํฉ JwtTokenFilter๋ฅผ UsernamePasswordAuthenticationFilter ์ด์ ์ ๋ผ์ ๋ฃ๊ณ ์คํํ์๋๋ฐ ํํฐ๊ฐ ๋ ๋ฒ ํธ์ถ๋๊ณ ๋์์ด ๊ผฌ์ฌ๋ฒ๋ฆฌ๋ ์ํฉ์ด ๋ฐ์ํ๋ค. (1) JwtTokenFilter.java @Component @RequiredArgsConstructor public class JwtTokenFilter extends OncePerRequestFilter { private final JwtTokenProvider jwtTokenProvider; @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filter..