---
# System prepended metadata

title: Spring Framwork 授課內容

---

# Spring Framwork 授課內容

## 環境建置
- JDK 11 or 17
- IDE Eclipse
- Maven
- DB
-- MySql,Oracle,H2
- 工具
-- Postman
-- Swagger UI

## Maven
專案管理工具

## Git
版控工具
- SourceTree

## Spring
介紹什麼是Spring，Dependency Injection，及配置使用方式。
- Spring IoC
- XML配置
- Config配置
- Annotation配置
- ApplicationContext


## SpringMvc + Jsp
傳統SpingMvc專案，介紹ORM
- xml 設定、Config設定
- 搭配Hibernate
- 搭配JPA
-- Entity
-- Id 生成策略
-- 複合主鍵
- JPQL
- @Controller
- @Model
- @ModelAndView
- @ModelAttribute

## SpringBoot
- Spring Initializr
- Annotation介紹
-- @SpringBootApplication
-- @ComponentScan
-- @Component,@Service
-- @Autowired
-- @Qualifier
- BeanScope & Life Cycle
-- Singleton,ProtoType

### AOP + Logger
- @Before
- @After
- @Around
- RestControllerAdvice

### SpringBoot + Mvc +Thymeleaf

### RestController
- @RequestParam
- @PathVariable
- @RequestBody
- @ResponseEntity
- 檔案上傳

### Spring Data Jpa
- JpaRepository + Query Method
- OneToOne
- OneToMany
- ManyToMany
- 雙資料庫設定
- EntityManagement
- 
### jdbcTemplete

### Transaction

### CORS

## MyBatis
Spring + MyBatis配置及應用
- Annotation
- Mapper

## Spring Batch
大量資料處理機制
- ItemReader
- ItemProcessor
- ItemWriter
- Step
- Job
- JobRepository

## Report(學習中，有jdk版本的問題，待處理)


## 視情況補充
- MicroServices
- Criteria
- Lombok