提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔
文章目錄
- Spring 基礎知識點總覽
- 1. Spring 框架簡介
- 2. IoC(控制反轉)與 DI(依賴注入)
- 2.1 IoC 容器
- 2.2 依賴注入方式
- 示例代碼(構造器注入)
- 3. Spring MVC
- 3.1 核心組件
- 示例代碼(Spring MVC 控制器)
- 4. AOP(面向切面編程)
- 4.1 示例代碼(使用注解的 AOP)
- 5. Spring Boot
- 5.1 示例代碼(Spring Boot 主類)
- 總結
Spring 基礎知識點總覽
1. Spring 框架簡介
Spring 是一個開源的 Java/Java EE 全功能棧(full-stack)的應用程序框架,它提供了廣泛的企業級功能,包括數據訪問、事務管理、Web 框架、AOP(面向切面編程)、測試等。Spring 框架的核心特性之一是 IoC(控制反轉)和 DI(依賴注入)。
2. IoC(控制反轉)與 DI(依賴注入)
2.1 IoC 容器
IoC 容器是 Spring 框架的核心,它負責創建、配置和管理應用中的對象及其依賴關系。
2.2 依賴注入方式
- 構造器注入
- Setter 注入
- 接口注入(較少使用)
示例代碼(構造器注入)
// 定義一個簡單的服務類
public class UserService {private UserRepository userRepository;// 構造器注入public UserService(UserRepository userRepository) {this.userRepository = userRepository;}public void printUserInfo() {User user = userRepository.getUserById(1);System.out.println("User: " + user.getName());}
}// 定義一個簡單的倉庫接口和實現類
public interface UserRepository {User getUserById(int id);
}public class UserRepositoryImpl implements UserRepository {@Overridepublic User getUserById(int id) {// 模擬從數據庫獲取用戶return new User(id, "John Doe");}
}// 配置類
@Configuration
public class AppConfig {@Beanpublic UserRepository userRepository() {return new UserRepositoryImpl();}@Beanpublic UserService userService(UserRepository userRepository) {return new UserService(userRepository);}
}// 主類
public class MainApplication {public static void main(String[] args) {AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(AppConfig.class);UserService userService = context.getBean(UserService.class);userService.printUserInfo();context.close();}
}
3. Spring MVC
Spring MVC 是一種基于 Java 的實現 MVC(Model-View-Controller)設計模式的 Web 框架。
3.1 核心組件
- DispatcherServlet:前端控制器,負責接收請求并分發給相應的處理器。
- HandlerMapping:負責根據請求 URL 找到對應的處理器。
- HandlerAdapter:負責調用處理器的方法并處理返回值。
- ViewResolver:負責解析視圖名并生成視圖對象。
示例代碼(Spring MVC 控制器)
@Controller
@RequestMapping("/users")
public class UserController {@Autowiredprivate UserService userService;@GetMapping("/{id}")public String getUser(@PathVariable int id, Model model) {User user = userService.getUserById(id);model.addAttribute("user", user);return "userView";}
}
4. AOP(面向切面編程)
AOP 是一種編程范式,它允許你將橫切關注點(如日志、事務管理等)從業務邏輯中分離出來,以提高代碼的可維護性和可讀性。
4.1 示例代碼(使用注解的 AOP)
@Aspect
@Component
public class LoggingAspect {@Before("execution(* com.example.service.*.*(..))")public void logBefore() {System.out.println("Method execution started");}@After("execution(* com.example.service.*.*(..))")public void logAfter() {System.out.println("Method execution finished");}
}
5. Spring Boot
Spring Boot 是基于 Spring 框架的一個快速開發工具包,它簡化了基于 Spring 的應用的創建和開發過程。
5.1 示例代碼(Spring Boot 主類)
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}
}
這個模板只是一個起點,你可以根據自己的學習進度和需要添加更多的知識點和代碼示例。希望這個模板能幫助你有效地分享你的 Spring 學習成果!
總結
提示:這里對文章進行總結:
例如:以上就是今天要講的內容,自學記錄Spring基礎知識點總覽。