当前位置: 首页 > wzjs >正文

宁波seo网络推广渠道介绍seo网络推广企业

宁波seo网络推广渠道介绍,seo网络推广企业,网站设计网,做网站必须会Fullstack 面试复习笔记:Spring / Spring Boot / Spring Data / Security 整理 之前的笔记: Fullstack 面试复习笔记:操作系统 / 网络 / HTTP / 设计模式梳理Fullstack 面试复习笔记:Java 基础语法 / 核心特性体系化总结Fullsta…

Fullstack 面试复习笔记:Spring / Spring Boot / Spring Data / Security 整理

之前的笔记:

  • Fullstack 面试复习笔记:操作系统 / 网络 / HTTP / 设计模式梳理
  • Fullstack 面试复习笔记:Java 基础语法 / 核心特性体系化总结
  • Fullstack 面试复习笔记:项目梳理总结
  • [spring] spring AOP - 面向切面编程の学习
    这篇是 AOP 部分的补充说明

这篇笔记主要会过一遍 Spring 的核心内容,不会特别的详尽,知识需要过一下脑子的关键点,毕竟虽然说是全栈,不过最近找的项目还是以重前端为主

Spring Core

IoC/DI

  • IoC(Inversion of Control) 容器负责创建对象(Bean)并注入依赖,开发者只需声明,不需手动 new
    如果像使用非框架那样,开发实现 clas,实例化对象,那就属于正向流程,而不是控制反转(IoC)
  • DI(Dependency Injection)是实现 IoC 的主要方式,Spring 支持多种注入方式
    现在除了 constructor injection 是官方最推荐的使用方式之外,其他的有点慢慢或是已经退出了 Spring 6 的世界里
    • 构造器注入(Constructor Injection)– 官方推荐
      使用构造函数传入依赖,利于测试、线程安全、明确依赖关系
      @Component
      public class OrderService {private final PaymentService paymentService;@Autowired  // 可省略(若只有一个构造器)public OrderService(PaymentService paymentService) {this.paymentService = paymentService;}
      }
    • 字段注入(Field Injection)
      使用 @Autowired注解直接注入到类字段,不利于测试与封装
      @Autowired
      private PaymentService paymentService;
    • Setter 注入(Setter Injection)
      提供 setter 方法并通过注解注入依赖,可选但冗长,现代项目很少用
      java
      CopyEdit
      private PaymentService paymentService;@Autowired
      public void setPaymentService(PaymentService paymentService) {this.paymentService = paymentService;
      }
    • XML 配置注入(XML-based Injection)(已弃用)
      早期通过 XML 显式配置依赖关系,现在基本已被 Java Config / 注解方式取代
      <bean id="orderService" class="com.example.OrderService"><property name="paymentService" ref="paymentService"/>
      </bean>
  • 核心注解:
    • @Component@Service@Repository@Controller
    • @Autowired(或构造注入 + Lombok @RequiredArgsConstructor

Context and Bean

  • ApplicationContext 是 Spring 的核心容器接口,支持 Bean 生命周期管理、事件发布等
  • Bean 定义方式:
    • 自动扫描:使用 @Component 及派生注解 + @ComponentScan
      核心注解参考上一段
    • 显式注册:@Configuration 类 + @Bean 方法
      • 第三方类无法加注解
      • Bean 构造过程需要自定义逻辑或初始化参数
      • 如 Spring Security 中注册密码加密器
        @Configuration
        public class SecurityConfig {@Beanpublic PasswordEncoder passwordEncoder() {return new BCryptPasswordEncoder();}
        }
        
      • 搭配条件注解(如 @Profile, @ConditionalOnMissingBean 等)实现灵活配置
  • Spring Boot 中:
    • @SpringBootApplication 等价于 @Configuration + @EnableAutoConfiguration + @ComponentScan
    • 默认扫描主类所在包及其子包下的组件,无需显式写 @ComponentScan
    • ApplicationContext 会自动完成组件扫描和 Bean 注册,避免 XML 或手动配置
  • Scope 管理:
    • 默认 singleton
    • 还有 prototyperequestsession(用于 Web 项目)
  • Bean 生命周期流程:
    1. 实例化(Constructor)
    2. 属性注入(DI)
    3. 初始化(可通过 InitializingBean@PostConstruct
    4. 使用中(被容器托管)
    5. 销毁(可通过 DisposableBean@PreDestroy
  • 扩展机制(了解即可):
    • BeanPostProcessor:对初始化前后进行拦截增强
    • BeanFactoryPostProcessor:在 BeanFactory 加载完成前修改其定义(如 Spring Boot 自动配置)

AOP

  • 用于抽离横切关注点(如日志、事务、安全),核心依赖于动态代理(JDK or CGLIB)
  • 使用 @Aspect + @Around / @Before / @AfterReturning 等注解实现切面逻辑
  • 常见应用:记录日志、方法执行时间、鉴权校验、统一异常处理等

之前有在另外一篇笔记补过具体的用法: [spring] spring AOP - 面向切面编程の学习

Spring Boot

这部分上面有点重复,不过这里强调一下

  • Spring Boot 简化配置和启动,主打“约定优于配置”
  • @SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan
  • 自动配置原理基于 spring.factories(或 Spring 6 的 spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
  • 常用配置文件:application.yml or application.properties
  • @ConfigurationProperties 可绑定配置到 Bean,适用于大型嵌套结构配置

Spring Data JPA/ORM

  • Spring Data JPA 提供了 Repository 接口(如 JpaRepository)来简化 DAO 层
  • 使用 @Entity / @Table / @Id / @GeneratedValue 声明实体类
  • 支持方法命名规则生成查询方法,如 findByNameAndStatus()
  • @Query 可自定义 JPQL / 原生 SQL
  • 默认使用 Hibernate 做 JPA 实现(在 Boot 中为 starter-data-jpa)

Spring Security

  • Spring Security 提供身份认证和权限控制框架,支持 form login / JWT / OAuth
  • 自定义 UserDetailsService 实现登录逻辑(Session-based or Token-based)
  • 新版本使用 SecurityFilterChain 代替 WebSecurityConfigurerAdapter
  • 权限控制:基于 URL 的拦截规则 + 方法级别的 @PreAuthorize
  • 可通过配置关闭 CSRF、开启跨域、定制 login/logout 行为等

Spring MVC

  • 处理 Web 请求的模块,基于 DispatcherServlet + 多个 HandlerMapping/Adapter 实现
  • 常用注解:@RestController, @RequestMapping, @GetMapping, @PostMapping, @RequestBody, @PathVariable
  • 数据绑定:Spring 自动将 HTTP 请求参数绑定到 Java 对象(通过 @ModelAttribute、JSON → Object)
  • 异常处理:@ControllerAdvice + @ExceptionHandler
  • Spring Boot 默认集成 MVC,无需额外配置
http://www.dtcms.com/wzjs/604618.html

相关文章:

  • 好的摄影作品网站建设网站要什么手续
  • 成都企业网站建设费用石家庄企业做网站
  • 大连投诉网站基金网站建设需求书
  • 望牛墩网站仿做如何利用视频网站做推广
  • 与网站建设有关的课程和知识点dedecms 食品网站模板
  • 太原中小企业网站制作网页特效代码大全免费
  • 如何做内网网站全自动推广软件
  • 怎么在各大网站做产品推广好用的影视网站模板
  • 企业网站搭建方案旅游网站建设的摘要
  • 中国优秀设计网站wordpress必装的插件
  • 韩国电商网站排名wordpress更改主题的响应
  • 做网站给女朋友官网招聘平台
  • 网站平台建设需求的意见网站建设公司怎么选
  • 网站更换logo景区vi设计案例
  • 做pc端网站必知建设网站好公司简介
  • 汽车4s店网站模板wordpress 怎么学
  • 建设电影网站代码网站的404如何做
  • 河北网站建设哪家好韩家英设计公司官网
  • 企业网站托管搜索引擎优化技术都有哪些
  • 做箱包外贸哪个网站好设计公司网站建设
  • 营销型网站建设网站建设资讯易观数据app排行
  • 网站建设工作分解结构图或表网络营销就是建立企业网站
  • 国家和住房城乡建设部网站建立应用网站
  • 织梦手机网站教程wordpress死链跳转
  • 用网站ip做代理建站之星模板下载网站
  • 自己做的网站怎么接入微信wordpress登陆界面修改
  • 小米手机官方网站常州个人做网站
  • 网站开发交付做网站和做电脑软件差别大吗
  • 网站建设与网络编辑课程心得成都旅游攻略四天三夜
  • 网站优化方法云端做效果图的网站