.jpg)
书: https://pan.baidu.com/s/1A6ZLSPMbCiZ-L4eRucUvXQ?pwd=kt7i
一、Spring Framework 核心
- “Spring的核心是依赖注入(DI)和控制反转(IoC),通过
@Autowired
或构造器注入管理Bean依赖。” - “
@Component
及其衍生注解(@Service
、@Repository
、@Controller
)声明Spring管理的Bean。” - “AOP(面向切面编程)通过
@Aspect
定义切面,@Before
/@After
等注解实现日志、事务等横切关注点。”
二、Spring Boot 快速开发
- “Spring Boot的
自动配置
基于条件注解(如@ConditionalOnClass
),按需加载Bean,避免冗余配置。” - “
application.properties
(或application.yml
)支持多环境配置,通过spring.profiles.active
切换。” - “
@SpringBootApplication
是复合注解,整合了@Configuration
、@EnableAutoConfiguration
和@ComponentScan
。”
三、数据访问
- “Spring Data JPA通过
JpaRepository
接口简化CRUD操作,@Query
注解支持自定义JPQL或原生SQL。” - “事务管理使用
@Transactional
,默认对RuntimeException回滚,可通过rollbackFor
调整。” - “JDBC Template提供更轻量的SQL操作,避免JPA的ORM开销,适合复杂查询场景。”
四、Web开发
- “Spring MVC的
@RestController
组合了@Controller
和@ResponseBody
,直接返回JSON/XML数据。” - “
@GetMapping
/@PostMapping
等注解简化路由映射,支持RESTful风格路径变量(@PathVariable
)。” - “文件上传通过
MultipartFile
处理,配置spring.servlet.multipart.max-file-size
限制大小。”
五、Spring Security
- “基础安全配置:继承
WebSecurityConfigurerAdapter
,重写configure(HttpSecurity http)
定义权限规则。” - “OAuth2集成:
@EnableAuthorizationServer
配置授权服务器,@EnableResourceServer
保护API资源。” - “密码加密必须使用
PasswordEncoder
,推荐BCrypt(BCryptPasswordEncoder
)。”
六、微服务与云原生
- “Spring Cloud Netflix(如Eureka、Hystrix)虽逐步被替代,仍是理解服务注册、熔断的基础。”
- “Spring Cloud Gateway替代Zuul,基于WebFlux实现异步API网关,支持
Predicate
和Filter
链。”
七、响应式编程
- “WebFlux引入响应式栈,
Mono
和Flux
是Reactor库的核心类,代表0-1和0-N的异步数据流。” - “
@RestController
可与RouterFunction
共存,后者提供函数式端点定义方式。”
八、测试与运维
- “
@SpringBootTest
加载完整应用上下文,@MockBean
注入模拟依赖,TestRestTemplate
测试HTTP端点。”