Spring实战(第5版)(克雷格·沃斯)

书: https://pan.baidu.com/s/1A6ZLSPMbCiZ-L4eRucUvXQ?pwd=kt7i

一、Spring Framework 核心

  1. “Spring的核心是依赖注入(DI)和控制反转(IoC),通过@Autowired或构造器注入管理Bean依赖。”
  2. @Component及其衍生注解(@Service@Repository@Controller)声明Spring管理的Bean。”
  3. “AOP(面向切面编程)通过@Aspect定义切面,@Before/@After等注解实现日志、事务等横切关注点。”

二、Spring Boot 快速开发

  1. “Spring Boot的自动配置基于条件注解(如@ConditionalOnClass),按需加载Bean,避免冗余配置。”
  2. application.properties(或application.yml)支持多环境配置,通过spring.profiles.active切换。”
  3. @SpringBootApplication是复合注解,整合了@Configuration@EnableAutoConfiguration@ComponentScan。”

三、数据访问

  1. “Spring Data JPA通过JpaRepository接口简化CRUD操作,@Query注解支持自定义JPQL或原生SQL。”
  2. “事务管理使用@Transactional,默认对RuntimeException回滚,可通过rollbackFor调整。”
  3. “JDBC Template提供更轻量的SQL操作,避免JPA的ORM开销,适合复杂查询场景。”

四、Web开发

  1. “Spring MVC的@RestController组合了@Controller@ResponseBody,直接返回JSON/XML数据。”
  2. @GetMapping/@PostMapping等注解简化路由映射,支持RESTful风格路径变量(@PathVariable)。”
  3. “文件上传通过MultipartFile处理,配置spring.servlet.multipart.max-file-size限制大小。”

五、Spring Security

  1. “基础安全配置:继承WebSecurityConfigurerAdapter,重写configure(HttpSecurity http)定义权限规则。”
  2. “OAuth2集成:@EnableAuthorizationServer配置授权服务器,@EnableResourceServer保护API资源。”
  3. “密码加密必须使用PasswordEncoder,推荐BCrypt(BCryptPasswordEncoder)。”

六、微服务与云原生

  1. “Spring Cloud Netflix(如Eureka、Hystrix)虽逐步被替代,仍是理解服务注册、熔断的基础。”
  2. “Spring Cloud Gateway替代Zuul,基于WebFlux实现异步API网关,支持PredicateFilter链。”

七、响应式编程

  1. “WebFlux引入响应式栈,MonoFlux是Reactor库的核心类,代表0-1和0-N的异步数据流。”
  2. @RestController可与RouterFunction共存,后者提供函数式端点定义方式。”

八、测试与运维

  1. @SpringBootTest加载完整应用上下文,@MockBean注入模拟依赖,TestRestTemplate测试HTTP端点。”

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注