์คํ๋ง JDBC ํ๋ก๊ทธ๋๋ฐ - JdbcTemplate ์คํ๋ง JDBC ํ๋ก๊ทธ๋๋ฐ - JdbcTemplate Spring Framework๋ JDBC ํ๋ก๊ทธ๋๋ฐ์ ์ํด JdbcTemplate ํด๋์ค๋ฅผ ์ ๊ณตํ๋ฉฐ JdbcTemplate ํด๋์ค๋ ์์ฝ๊ฒ DB์ ์ฐ๋ํ ์ ์๋๋ก ๊ตฌํ๋์ด ์๋ค. ์ด ๊ธ์์๋ Oracle DB 11g๋ฅผ ์ฌ์ฉํ๋ค๊ณ ๊ฐ์ ํ๋ค. ๋ค๋ฅธ DB๋ฅผ ์ฌ์ฉํด๋ ๋ฌด๋ฐฉํ๋ค. ์์กด์ฑ ์ถ๊ฐ Spring JDBC, Oracle JDBC ๋๋ผ์ด๋ฒ, Apache Commons DBCP ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์กด์ฑ์ ์ถ๊ฐํ๋ค. org.springframework spring-jdbc 5.1.9.RELEASE com.oracle ojdbc6 11.2.0.3 org.apache.commons commons-dbcp2 2.7.0 Oracle JDBC ๋๋ผ์ด๋ฒ๋ฅผ ๊ด๋ฆฌํ๋ ๋ ํ์งํ ๋ฆฌ.. 2020. 4. 27. AspectJ Weaver๋ฅผ ์ฌ์ฉํ ์ ๋ ธํ ์ด์ ๊ธฐ๋ฐ์ ์คํ๋ง AOP ๊ตฌํ ๋ฐฉ๋ฒ AspectJ Weaver๋ฅผ ์ฌ์ฉํ ์ ๋ ธํ ์ด์ ๊ธฐ๋ฐ์ ์คํ๋ง AOP ๊ตฌํ ๋ฐฉ๋ฒ AOP๋? - Aspect Oriented Programming : ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ - OOP ์ ๋ถ๋ฆฌ๋ ๊ฐ๋ ์ด ์๋๋ผ, OOP์ ๊ธฐ์ด๋ฅผ ๋๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์ - ํ๋์ ํ๋ก๊ทธ๋จ์ ๊ด์ (ํน์ ๊ด์ฌ์ฌ)๋ผ๋ ๋ ผ๋ฆฌ์ ์ธ ๋จ์๋ก ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ๋ ๊ฐ๋ - ๋ก๊น , ๊ฐ์ฌ, ์ ์ธ์ ํธ๋์ ์ , ๋ณด์, ์บ์ฑ ๋ฑ ๋ค์ํ ๊ณณ์์ ์ฌ์ฉ๋๋ค. AOP ์ฉ์ด - Joint Point : ๋ชจ๋์ด ์ฝ์ ๋์ด ๋์ํ๊ฒ ๋๋ ํน์ ์์น(๋ฉ์๋ ํธ์ถ ๋ฑ) - Point Cut : ๋ค์ํ Joint Point ์ค์ ์ด๋ค ๊ฒ์ ์ฌ์ฉํ ์ง ์ ํ - Advice : Joint Point์ ์ฝ์ ๋์ด ๋์ํ ์ ์๋ ์ฝ๋ - Weaving : Advice๋ฅผ ํต์ฌ ๋ก์ง ์ฝ๋.. 2020. 4. 27. AspectJ Weaver๋ฅผ ์ฌ์ฉํ XML ๊ธฐ๋ฐ์ ์คํ๋ง AOP ๊ตฌํ ๋ฐฉ๋ฒ AspectJ Weaver๋ฅผ ์ฌ์ฉํ XML ๊ธฐ๋ฐ์ ์คํ๋ง AOP ๊ตฌํ ๋ฐฉ๋ฒ AOP๋? - Aspect Oriented Programming : ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ - OOP ์ ๋ถ๋ฆฌ๋ ๊ฐ๋ ์ด ์๋๋ผ, OOP์ ๊ธฐ์ด๋ฅผ ๋๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์ - ํ๋์ ํ๋ก๊ทธ๋จ์ ๊ด์ (ํน์ ๊ด์ฌ์ฌ)๋ผ๋ ๋ ผ๋ฆฌ์ ์ธ ๋จ์๋ก ๋ถ๋ฆฌํ์ฌ ๊ด๋ฆฌํ๋ ๊ฐ๋ - ๋ก๊น , ๊ฐ์ฌ, ์ ์ธ์ ํธ๋์ ์ , ๋ณด์, ์บ์ฑ ๋ฑ ๋ค์ํ ๊ณณ์์ ์ฌ์ฉ๋๋ค. AOP ์ฉ์ด - Joint Point : ๋ชจ๋์ด ์ฝ์ ๋์ด ๋์ํ๊ฒ ๋๋ ํน์ ์์น(๋ฉ์๋ ํธ์ถ ๋ฑ) - Point Cut : ๋ค์ํ Joint Point ์ค์ ์ด๋ค ๊ฒ์ ์ฌ์ฉํ ์ง ์ ํ - Advice : Joint Point์ ์ฝ์ ๋์ด ๋์ํ ์ ์๋ ์ฝ๋ - Weaving : Advice๋ฅผ ํต์ฌ ๋ก์ง ์ฝ๋์ .. 2020. 4. 27. [Spring] @Component ์ ๋ ธํ ์ด์ ๋ฐ ํจ๊ป ์ฌ์ฉํ๋ ์ ๋ ธํ ์ด์ ์ ๋ฆฌ [Spring] @Component ์ ๋ ธํ ์ด์ ๋ฐ ํจ๊ป ์ฌ์ฉํ๋ ์ ๋ ธํ ์ด์ ์ ๋ฆฌ ์คํ๋ง ๋น ์ค์ XML ํ์ผ์ ๋ ์๋ฐ @Configuration ํด๋์ค์์ @Bean์ ๋ถ์ฌ ๋น์ ๋ฑ๋กํ๋ ๊ฒ์ฒ๋ผ ๋น ํด๋์ค์ @Component ์ ๋ ธํ ์ด์ ์ ๋ถ์ฌ ๋น์ ๋ฑ๋กํ ์ ์๋ค. ์ฆ @Component๋ฅผ ์ฌ์ฉํด์ ๋น ์ค์ ํ์ผ์ด ์๋๋ผ ๋น ํด๋์ค์์ ๋น์ ์ง์ ๋ฑ๋กํ ์ ์๋ค. Component Scan ์ค์ @Component๋ฅผ ๋ถ์ธ ํด๋์ค๋ฅผ ์ค์บํ ์ ์๋๋ก ์ค์ ํด ์ฃผ์ด์ผ ํ๋ค. 1) XML ์ค์ ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ํ๊ทธ์ base-package์ ์ค์บํ ํจํค์ง๋ฅผ ์ค์ ํ๋ค. ํจํค์ง๊ฐ ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ ๋ฅผ ์ฌ๋ฌ๊ฐ ์์ฑํ ์ ์๋ค. 2) @Configuration ์ค์ ์ ์ฌ์ฉํ ๊ฒฝ์ฐ @Configuration // ์ง์ ๋ .. 2020. 4. 25. [Spring] ์ ๋ ธํ ์ด์ ์ ์ด์ฉํ ๋น ์ค์ ๋ฐฉ๋ฒ ์ ๋ฆฌ [Spring] ์ ๋ ธํ ์ด์ ์ ์ด์ฉํ ๋น ์ค์ ๋ฐฉ๋ฒ ์ ๋ฆฌ ๋น ์ค์ ์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์คํ๋ง ์ ๋ ธํ ์ด์ @Required, @Autowired, @Qualifier, @Value๊ณผ JSR-250 ์ ๋ ธํ ์ด์ @PostConstruct, @PreDestroy, @Resource์ ๋ํด ์์๋ณด์ ์ด ์ ๋ ธํ ์ด์ ๋ค์ ์ฌ์ฉํด ๊ธฐ์กด์ XML ๋น ์ค์ ํ์ผ์ ๋ชจ๋ ์์ฑํ๋ ๋น ์ค์ ์ ๋น ํด๋์ค์ ์ง์ ์ค์ ํ ์ ์๋ค. XML ์ค์ ์ ์ ๋ ธํ ์ด์ ๋น ์ค์ ์ ์ฌ์ฉํ๊ธฐ ์ํ ์ฝ๋ ์ถ๊ฐ context ๋ค์ ์คํ์ด์ค์ ์ฝ๋๋ฅผ ์ถ๊ฐํ๋ค. ์ด๋ ๊ฒ ์ค์ ํ๋ฉด ๋น ์ค์ ์ XML ํ์ผ์ด ์๋ ๋น ํด๋์ค์ ์ ๋ ธํ ์ด์ ์ ๊ฒ์ํด ๋ฐ์ํ๋ค. @Required - setter์ ๋ถ์ฌ ๋ฐ๋์ ์ฃผ์ ํด์ผํ๋ ํ๋กํผํฐ๋ก ์ค์ ํ๋ ์ ๋ ธํ ์ด์ - Spring.. 2020. 4. 24. [Spring MVC] Static Resources(์ ์ ๋ฆฌ์์ค) ์ค์ ๋ฐฉ๋ฒ [Spring MVC] Static Resources(์ ์ ๋ฆฌ์์ค) ์ค์ ๋ฐฉ๋ฒ ์คํ๋ง MVC ์น ํ๋ก์ ํธ๋ ์ ์ ๋ฆฌ์์ค๋ฅผ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ค์ ํ ์ ์๋ค. ์คํ๋ง XML ์ค์ ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ WebMvcConfigurer ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์์ ๊ฐ์ ํ๋ก์ ํธ ๊ตฌ์กฐ์์ {ํ๋ก์ ํธ ๋ฃจํธ}/src/main/webapp/resources ์์น์ ์ ์ ๋ฆฌ์์ค๋ฅผ ์ค์ ํ๋ค๊ณ ๊ฐ์ ํด๋ณด์. ์ด resources ๋๋ ํ ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ด ์คํ๋ง ์น ์ดํ๋ฆฌ์ผ์ด์ ์ ์ ์ ๋ฆฌ์์ค๋ก ์ค์ ํ ์ ์๋ค. 1. ์คํ๋ง MVC ์ ์ ๋ฆฌ์์ค XML ์ค์ ๋ฐฉ๋ฒ ํ๋ก์ ํธ์์ ์ฌ์ฉํ๋ ์คํ๋ง XML ์ค์ ํ์ผ์(servlet-context.xml ...) ๋ค์ ํ๊ทธ๋ฅผ ์ถ๊ฐํ๋ค. ์คํ๋ง IoC ์ปจํ ์ด๋ XML ์ค์ ํ์ผ mapp.. 2020. 4. 15. [Spring] ์คํ๋ง XML ์ค์ → ์ ๋ ธํ ์ด์ ์ค์ ๋ณํ ๋ฐฉ๋ฒ [Spring] ์คํ๋ง XML ์ค์ โ ์ ๋ ธํ ์ด์ ์ค์ ๋ณํ ๋ฐฉ๋ฒ ์คํ๋ง ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉ์ XML ์ค์ ์ ์ด์ฉํ๋ ๋ฐฉ๋ฒ๊ณผ ์๋ฐ ์ ๋ ธํ ์ด์ ๊ธฐ๋ฐ์ ์ค์ ์ ์ด์ฉํ๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌ๋ถํ ์ ์๋ค. (์ฐธ๊ณ - ์คํ๋ง XML ์ค์ ๋ฐฉ๋ฒ : [Spring] ์คํ๋ง XML ์ค์ ํ์ผ ์์ฑ ๋ฐฉ๋ฒ ์ ๋ฆฌ) ๋ณธ ๊ธ์์๋ ์คํ๋ง์ XML ์ค์ ์ ์ ๋ ธํ ์ด์ ์ค์ ์ผ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ค๋ฃฌ๋ค. ๐ ๋ชฉ์ฐจ 1. ์คํ๋ง ์ ๋ ธํ ์ด์ ๊ธฐ๋ฐ ์ค์ ๊ธฐ๋ณธ ํฌ๋งท 2. ๊ธฐ๋ณธ์ ์ธ ๋น ์ค์ ๋ฐฉ๋ฒ - ์๋ ์ฃผ์ ์ค์ - autowire ์์ฑ 3. DI(Dependency Injection) ์ค์ - ์์ฑ์ ์ฃผ์ - ํ๋กํผํฐ ์ฃผ์ - ํ๋กํผํฐ ์ฃผ์ - List ํ์ - ํ๋กํผํฐ ์ฃผ์ - Map ํ์ 4. ApplicationContext ๊ฐ์ฒด.. 2020. 4. 14. [Spring] ์คํ๋ง ๋น(Bean) ์ด๊ธฐํ, ์๋ฉธ ์ ํน์ ์์ ์ ํ๋ ๋ฐฉ๋ฒ [Spring] ์คํ๋ง ๋น(Bean)์ด ์ด๊ธฐํ, ์๋ฉธ ์ ํน์ ์์ ์ ํ๋ ๋ฐฉ๋ฒ ๋ฐฉ๋ฒ 1: InitializingBean, DisposableBean ์ธํฐํ์ด์ค ๊ตฌํ ๋ฐฉ๋ฒ 2: ์คํ๋ง XML ์ค์ ์ฌ์ฉ 1. ์ธํฐํ์ด์ค ๊ตฌํ Spring์์ ์ ๊ณตํ๋ InitializingBean, DisposableBean ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ๋ค. public class BookDao implements InitializingBean, DisposableBean { @Override public void afterPropertiesSet() throws Exception { // ๋น ์ด๊ธฐํ ์ ์ฝ๋ ๊ตฌํ } @Override public void destroy() throws Exception { // ๋น ์๋ฉธ ์ ์ฝ๋ ๊ตฌ.. 2020. 4. 13. [Spring] ์์กด์ฑ ์ฃผ์ ์ ๋ ธํ ์ด์ ์ ๋ฆฌ - @Autowired, @Resource, @Inject [Spring] ์์กด์ฑ ์ฃผ์ ์ ๋ ธํ ์ด์ ์ ๋ฆฌ - @Autowired, @Resource, @Inject 1. @Autowired @Autowired๋ ์ฃผ์ ํ๋ ค๊ณ ํ๋ ๊ฐ์ฒด์ ํ์ ์ด ์ผ์นํ๋ ๊ฐ์ฒด๋ฅผ ์๋์ผ๋ก ์ฃผ์ ํ๋ค. @Autowired๋ ํ๋, ์์ฑ์, Setter์ ๋ถ์ผ ์ ์๋ค. ๋จ, @Autowired๋ฅผ ํ๋, Setter์ ๋ถ์ฌ์ ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ฐ๋์ ๊ธฐ๋ณธ ์์ฑ์๊ฐ ์ ์๋์ด ์์ด์ผ ํ๋ค. 1) @Autowired - ํ๋ ์ฃผ์ public class WordRegisterServiceUseAutowired { @Autowired private WordDao wordDao; public WordRegisterServiceUseAutowired() { } } 2) @Autowired - ์์ฑ์ ์ฃผ์ p.. 2020. 4. 13. [Spring] ์คํ๋ง XML ์ค์ ํ์ผ ์์ฑ ๋ฐฉ๋ฒ ์ ๋ฆฌ [Spring] ์คํ๋ง XML ์ค์ ํ์ผ ์์ฑ ๋ฐฉ๋ฒ ์ ๋ฆฌ ๐ ๋ชฉ์ฐจ 1. ์คํ๋ง XML ์ค์ ํ์ผ ํฌ๋งท - ๊ธฐ๋ณธ ํฌ๋งท - ์ ๋ ธํ ์ด์ ์ค์ ์ ์ฌ์ฉํ๊ธฐ ์ํ ํฌ๋งท 2. ๋น(Bean) ์ค์ ์์ - ์๋ ์ฃผ์ ์ค์ - autowire ์์ฑ 3. DI(Dependency Injection) ์ค์ - ์์ฑ์ ์ฃผ์ - ํ๋กํผํฐ ์ฃผ์ - ํ๋กํผํฐ ์ฃผ์ - List ํ์ - ํ๋กํผํฐ ์ฃผ์ - Set ํ์ - ํ๋กํผํฐ ์ฃผ์ - Map ํ์ - ํ๋กํผํฐ ์ฃผ์ - Properties ํ์ 4. ApplicationContext ๊ฐ์ฒด ์์ฑ - ์คํ๋ง XML ์ค์ ํ์ผ์ด ํ ๊ฐ์ธ ๊ฒฝ์ฐ - ์คํ๋ง XML ์ค์ ํ์ผ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ - ์คํ๋ง XML ์ค์ ํ์ผ์ด ์ฌ๋ฌ ๊ฐ์ธ ๊ฒฝ์ฐ(import ํ๊ทธ ์ฌ์ฉ) 1. ์คํ๋ง XML ์ค์ ํ.. 2020. 4. 13. [Spring Boot/Spring Web MVC] ViewController๋ฅผ ์ด์ฉํด์ ๋ทฐ ๋งคํํ๊ธฐ [Spring Boot/Spring Web MVC] ViewController๋ฅผ ์ด์ฉํด์ ๋ทฐ ๋งคํํ๊ธฐ @GetMapping("/hello") public String hello() { return "hello"; } ์์ ๊ฐ์ด ํน์ ์์ฒญ url์ ๋ํด ์ปจํธ๋กค๋ฌ ๋ก์ง ์์ด ๋ฐ๋ก ๋ทฐ๋ฅผ ๋ฆฌํดํ๋ ๊ฒฝ์ฐ ViewController๋ฅผ ์ฌ์ฉํด์ ๋ทฐ๋ฅผ ๋งคํํ ์ ์๋ค. @Configuration public class WebConfig implements WebMvcConfigurer { @Override public void addViewControllers(ViewControllerRegistry registry) { registry.addViewController("/hello").setViewName("hell.. 2020. 3. 26. [Spring Boot] ApplicationRunner ๋ฑ๋ก ๋ฐฉ๋ฒ ์ ๋ฆฌ [Spring Boot] ApplicationRunner ๋ฑ๋ก ๋ฐฉ๋ฒ ์ ๋ฆฌ 1. ๋ณ๋์ ํด๋์ค์ @Component ๋ถ์ฌ์ ๋ฑ๋กํ๊ธฐ import org.springframework.boot.ApplicationArguments; import org.springframework.stereotype.Component; @Component public class ApplicationRunner implements org.springframework.boot.ApplicationRunner { @Override public void run(ApplicationArguments args) throws Exception { // ์ฝ๋ ์์ฑ } } 2. @Configuration ํด๋์ค์ @Bean์ผ๋ก ์ง์ ๋ฑ๋กํ๊ธฐ .. 2020. 3. 26. ์ด์ 1 2 3 4 5 ๋ค์