๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

์ „์ฒด ๊ธ€

(135)
์Šคํ”„๋ง ๋ถ€ํŠธ์— ๋‚ด์žฅ๋œ tomcat ์„œ๋ฒ„ ๋ณ€๊ฒฝํ•˜๋Š” ๋ฒ• ๋‚ด์žฅ๋œ ํ†ฐ์บฃ ๋ง๊ณ  ๋‹ค๋ฅธ ์„œ๋ฒ„๋กœ ๋ณ€๊ฒฝํ•ด๋ณด์ž. jetty๋กœ ๋ณ€๊ฒฝ jetty๋ฅผ ์“ฐ๊ณ ์‹ถ๋‹ค๋ฉด spring-boot-starter-web์— ๋‚ด์žฅ๋˜์–ด tomcat๋ฅผ ์ œ์™ธ์‹œํ‚ค๊ณ  jettyspring-boot-starter-jetty๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค. org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat org.springframework.boot spring-boot-starter-jetty undertow๋กœ ๋ณ€๊ฒฝ undertow๋ฅผ ์“ฐ๊ณ  ์‹ถ๋‹ค๋ฉด spring-boot-starter-undertow๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๋˜๊ฒ ๋‹ค. org.springframework.boot spring-boot-starter..
์Šคํ”„๋ง ๋ถ€ํŠธ์˜ ๋‚ด์žฅ ์›น ์„œ๋ฒ„(๋” ์—„๋ฐ€ํžˆ ๋งํ•˜๋ฉด WAS)์— ๋Œ€ํ•˜์—ฌ ์Šคํ”„๋ง ๋ถ€ํŠธ๋Š” ์„œ๋ฒ„๊ฐ€ ์•„๋‹ˆ๋‹ค. ์›น ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ํ˜•ํƒœ๋กœ ์‹คํ–‰ํ•˜๋Š” ๋ฒ• ๋ฐฉ๋ฒ• 1 ์Šคํ”„๋ง๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ์—์„œ main ๋ฉ”์†Œ๋“œ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•˜๋ฉด ๋œ๋‹ค. SpringApplication application = new SpringApplication(Application.class); application.setWebApplicationType(WebApplicationType.NONE); application.run(args); ํ•˜๋ฉด ์›น ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ํ˜•ํƒœ๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐฉ๋ฒ• 2 ๋˜๋Š” main ๋ฉ”์†Œ๋“œ๋Š” ์›๋ž˜๋Œ€๋กœ ๋‘๊ณ  resources > application.properties ํŒŒ์ผ์— ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•ด๋ณด์ž spring.main.web-application.type=none "ํ†ฐ์บฃ ๊ฐ์ฒด ์ƒ์„ฑํ•ด์„œ ํฌํŠธ๋ฒˆํ˜ธ ์„ค..
์Šคํ”„๋ง ๋ถ€ํŠธ์˜ Auto Configuration ์ง์ ‘ ๊ตฌํ˜„ํ•ด๋ณด๊ธฐ "Xxx-Spring-Boot-Starter" ์ž๋™ ์„ค์ •์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. jueun-spring-boot-starter ๊ตฌํ˜„ํ•˜๊ธฐ 1. maven ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ, ์˜์กด์„ฑ ์ถ”๊ฐ€ 4.0.0 com.jueun jueun-spring-boot-starter 1.0-SNAPSHOT org.springframework.boot spring-boot-autoconfigure org.springframework.boot spring-boot-autoconfigure-processor true org.springframework.boot spring-boot-dependencies 2.0.3.RELEASE pom import 2. DTO(VO) ์ž‘์„ฑ package com.jueun; public class Ho..
์Šคํ”„๋ง ๋ถ€ํŠธ ์ž๋™์„ค์ • ๊ฐ„๋‹จํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ธฐ bean์€ 2๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ ์„œ ์ฝํžŒ๋‹ค. @SpringBootApplication ์•ˆ์— @ComponentScan์™€ @EnableAutoConfiguration์ด ์ˆจ์–ด์žˆ๋‹ค. 1๋‹จ๊ณ„: @ComponentScan @ComponentScan์€ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ํŠน์ • ํŒจํ‚ค์ง€ ์ดํ•˜์— ์žˆ๋Š” ๋ชจ๋“  ํด๋ž˜์Šค๋ฅผ ์ˆœํšŒํ•˜๋ฉด์„œ ๊ทธ ์œ„์— @Configuration, @Component, @Repository, @Service, @Controller, @RestController ๊ฐ™์€ ์• ๋…ธํ…Œ์ด์…˜์ด ๋ถ™์€ ํด๋ž˜์Šค๋ฅผ ๋นˆ์œผ๋กœ ๋“ฑ๋กํ•ด์ค€๋‹ค. 2๋‹จ๊ณ„: @EnableAutoConfiguration org.springframework.boot.autoconfigure.EnableAutoConfiguration @EnableAuto..
Springboot ์˜์กด์„ฑ ๊ด€๋ฆฌ์— ๋Œ€ํ•˜์—ฌ *1 spring-boot-starter-parent์˜ ๋ถ€๋ชจ๋Š” spring-boot-dependencies์ธ๋ฐ ์—ฌ๊ธฐ์— ์‚ฌ์ง„๊ณผ ๊ฐ™์ด properties๋กœ ๋ฒ„์ „์ด ๋ช…์‹œ๋˜์–ด ์žˆ๋‹ค. spring-boot-dependencies ํŒŒ์ผ์€ ์ปจํŠธ๋กค์„ ๋ˆ„๋ฅด๊ณ  ํด๋ฆญํ•˜๋ฉด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. ๋ฐ”๊พธ๊ณ  ์‹ถ์œผ๋ฉด properties์— ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค. 5.0.6.RELEASE *2 ์˜์กด์„ฑ ์ถ”๊ฐ€ ์‹œ intelliJ ์˜†์— ์‚ฌ์ง„๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๊ฐ€ ๋œจ๋Š” ๊ฒƒ์€ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ํ•ด์ฃผ๊ณ  ์žˆ์œผ๋ฏ€๋กœ ๋ฒ„์ „์„ ๋ช…์‹œํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ํ•˜์ง€๋งŒ ๋ฒ„์ „์„ ๋ช…์‹œํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. *3 maven ์˜์กด์„ฑ์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์‹ถ์„ ๋•, https://mvnrepository.com/ ์—์„œ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋œ๋‹ค. *4 spring-boot-starter-parent๊ฐ€ ์ง€์ •ํ•ด์ฃผ..
intelliJ 'org.springframework.boot:spring-boot-starter-web:2.4.1' not found intelliJ 'org.springframework.boot:spring-boot-starter-web:2.4.1' not found ์ด ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค๋ฉด, ์บ์‹œ๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์žฌ์‹œ์ž‘ ์‹œ ๋‹ค์‹œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋‹ค์šด๋ฐ›์•„๋ด…์‹œ๋‹ค!
IntelliJ ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ์‹œ์ž‘ํ•˜๊ธฐ 1. ์Šคํ”„๋ง ๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ ๋งŒ๋“ค๊ธฐ ๋ฐฉ๋ฒ• 1: IntelliJ์˜ Spring Initializer ์‚ฌ์šฉํ•˜๊ธฐ ๋ฐฉ๋ฒ• 2: maven์œผ๋กœ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ ํ›„ ์ง์ ‘ ์ž‘์„ฑํ•˜๊ธฐ [pom.xml ์ค‘ ๋‚ด์šฉ ์ถ”๊ฐ€] org.springframework.boot spring-boot-starter-parent 2.4.1 org.springframework.boot spring-boot-starter-web ๊ณต์‹ ๋ฌธ์„œ์—์„œ ์œ ์ผํ•˜๊ฒŒ ์œ„์น˜๋ฅผ ์ถ”์ฒœํ•˜๋Š” ํŒŒ์ผ์ด๋ผ๊ณ  ํ•œ๋‹ค. package com.jueun.create; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @Spr..
2021๋…„ 1์›”~2์›”์˜ ๊ธฐ๋ก ๐Ÿฐ 2021.01.01 ๐Ÿฐ 2021.01.11 ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ƒ๊ฐ ์ง„๋„๊ฐ€ ๊ฒฐ์ฝ” ๋น ๋ฅด์ง„ ์•Š์ง€๋งŒ ๋Œ€์‹  ํ™•์‹คํ•˜๊ฒŒ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ๋งŒ์กฑ๊ฐ์ด ํฌ๋‹ค. tistory์—๋„ ์—ด์‹ฌํžˆ ์˜ฌ๋ฆฌ๊ณ  github์—๋„ ๋ฐฐ์šด ๋‚ด์šฉ์˜ ๋‚ด์šฉ์„ ์ปค๋ฐ‹๋ฉ”์„ธ์ง€๋กœ ์‹ ์ค‘ํ•˜๊ฒŒ ์ž‘์„ฑํ•ด์„œ ์˜ฌ๋ ค๋‘”๋‹ค. ๋‚ด๊ฐ€ ๋‚˜์ค‘์— ์ฐพ์•„๋ณด๋ ค๋Š” ์šฉ๋„๊ฐ€ ์ผ๋‹จ ๋จผ์ €์ด๋‹ค. ๋ฐฑ์—”๋“œ ์ฒซ ํ˜‘์—… ๊ฐœ๋ฐœ์˜ ์„œ๋ง‰์ด ์˜ฌ๋ž๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ๋ง๋„ ์•ˆ๋˜๋Š” ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค..... ์‚ฌ์‹ค ์ด ํ”„๋กœ์ ํŠธ ํŒ€์˜ ๋ฉค๋ฒ„์ด์‹  ๋ถ„์˜ ๊ฐœ์ธ ๋ธ”๋กœ๊ทธ๋ฅผ ์ •๋ง ์šฐ์—ฐํžˆ ๋ณด๊ณ  ๋‚˜์„œ (์ฃผ๋ณ€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋„ ๋งํฌ๋ฅผ ๋ณด๋‚ด์ค„ ์ •๋„๋กœ ํ•ด๋ณด๊ณ  ์‹ถ์—ˆ๋‹ค !) ๊ฐœ์ธ์ ์œผ๋กœ๋ผ๋„ ๋น„์Šทํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ–ˆ์—ˆ๋Š”๋ฐ ๋„ˆ๋ฌด ์‹ ๊ธฐํ•˜๊ณ , ๊ฐ์‚ฌํ•˜๊ฒŒ๋„ ์—ฐ๋ฝ์ด ๋‹ฟ์•˜๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์‚ฌ์‹ค ์•„์ง ํ”„๋กœ์ ํŠธ์— ๋ฐ”๋กœ ํˆฌ์ž…๋  ์ •๋„์˜ ์ง€์‹์ด ์ „ํ˜€ ์•„๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋‚˜๋ฅผ ..
IntelliJ ๋„ค์ž„์ŠคํŽ˜์ด์Šค(xmlns) ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ• eclipse์˜ ๊ฒฝ์šฐ sts๋กœ ์‰ฝ๊ฒŒ ๋„ค์ž„์ŠคํŽ˜์ด์Šค(namespace)๊ฐ€ ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•œ๋ฐ, intelliJ์—์„œ๋Š” ์‰ฝ๊ฒŒ ๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์ง€ ๋ชปํ•ด์„œ ํ•œ์ฐธ์„ ํ—ค๋งธ์—ˆ๋‹ค. ํ•œ๊ธ€ ๊ฒ€์ƒ‰์œผ๋กœ๋Š” ์ฐพ์„ ์ˆ˜ ์—†์–ด์„œ ์˜์–ด๋กœ ๊ฒ€์ƒ‰ํ•œ ํ›„์— ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๋ณ„๋„์˜ ์ฐฝ ์—†์ด ์ผ๋‹จ ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ์“ฐ๊ณ  ์žˆ์œผ๋ฉด intelliJ๊ฐ€ ์ถ”์ฒœ์„ ํ•ด์ฃผ๊ณ  ํ™”์‚ดํ‘œ ๋ฐ‘์œผ๋กœ ์ด๋™ํ•ด์„œ ์—”ํ„ฐ๋ฅผ ์น˜๋ฉด ๋ฐ”๋กœ ์ถ”๊ฐ€๊ฐ€ ๋œ๋‹ค. ์˜ˆ์‹œ๋กœ ์— ๊ด€ํ•œ xmlns:context๋ฅผ ์ถ”๊ฐ€ํ•ด๋ณด์•˜๋‹ค. ํˆด์ด ์ง„์งœ ๋˜‘๋˜‘ํ•˜๋‹ค.
๋น„์ฆˆ๋‹ˆ์Šค ์ปดํฌ๋„ŒํŠธ ์‹ค์Šต Spring Quick Start(์ฑ…)์˜ Day1 class06~07 ์‹ค์Šต์„ ์ง„ํ–‰ํ•˜๋ฉด์„œ ๊ธฐ๋กํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์‹ค์Šต ์ฝ”๋“œ๋Š” ์—ฌ๊ธฐ์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MySQL๋กœ db๋ฅผ ๋ฐ”๊พธ๋ฉด์„œ ๊ธฐ์กด ์ฑ…์˜ ์‹ค์Šต์—์„œ ๋ณ€๊ฒฝํ•œ ๋ถ€๋ถ„ dependency mysql mysql-connector-java ${mysql.version} table ์ƒ์„ฑ CREATE TABLE BOARD ( SEQ INTEGER(5) PRIMARY KEY, TITLE VARCHAR(200), WRITER VARCHAR(20), CONTENT VARCHAR(2000), REGDATE datetime default CURRENT_TIMESTAMP, CNT INTEGER(5) default 0 ); SQL๋ฌธ private final String BOARD_I..