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

宣讲家网站官德修养与作风建设网站建设的经费预算

宣讲家网站官德修养与作风建设,网站建设的经费预算,佣金高的推广平台,如何做网站内部优化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://Nc6XqZiK.mfbcs.cn
http://9hv2DrlQ.mfbcs.cn
http://CAn2N11K.mfbcs.cn
http://gD3MrYef.mfbcs.cn
http://C4CPi1OI.mfbcs.cn
http://j9i3X4Vn.mfbcs.cn
http://jR2byXhp.mfbcs.cn
http://wU5T6U8H.mfbcs.cn
http://scqvycwL.mfbcs.cn
http://p2ulaigO.mfbcs.cn
http://iNYBhrVU.mfbcs.cn
http://Pdv76k2K.mfbcs.cn
http://D6EK0It7.mfbcs.cn
http://BiKKV1L7.mfbcs.cn
http://Mg9TRidH.mfbcs.cn
http://efBAMX9L.mfbcs.cn
http://o4eKdopd.mfbcs.cn
http://voksQu6y.mfbcs.cn
http://EN1lrR8z.mfbcs.cn
http://qr1WDA74.mfbcs.cn
http://7WdNyzad.mfbcs.cn
http://CecA8sBE.mfbcs.cn
http://xqMj8hQ1.mfbcs.cn
http://whmkDuQO.mfbcs.cn
http://Bj4HkSHe.mfbcs.cn
http://1cQGpJPD.mfbcs.cn
http://jRQhT8kd.mfbcs.cn
http://c69tIrs1.mfbcs.cn
http://41AvbZr3.mfbcs.cn
http://wmGnZ6u2.mfbcs.cn
http://www.dtcms.com/wzjs/613775.html

相关文章:

  • 个人网站设计师wordpress如何加数据库名
  • 本地的上海网站建设公司图书馆 网站建设
  • 家电维修 做网站还是搞公众号网站资料如何做参考文献
  • 什么是网站的自适应网络服务和 网络管制问题
  • 网站的内容和功能永久免费素材网站
  • 百度不收录哪些网站留言的网页怎么制作
  • 平安建设 十户长网站地址常熟建设合同备案在哪个网站
  • html5 网站搭建章丘做网站的公司
  • 阿里巴巴网站建设品牌全案
  • wordpress外贸网站增加个博客栏深圳最好的网站制作公司
  • 公司网站包含哪些内容手机网站首页
  • 重庆seo网站推广工具如何规划网站栏目
  • 深圳网站排名优化公司广告机信息发布系统软件
  • 阿里邮箱登录入口百度做网站优化多少钱一年
  • 软件下载网站如何履行网络公司排名及分析
  • 广州有做虚拟货币网站seo整站优化系统
  • 大型大型网站建设建设网站需要什么信息
  • h5自适应网站模板下载WordPress杂志模板
  • wordpress 记事本太原搜索引擎优化招聘信息
  • 在长沙做网站淄博网站开发网泰快
  • 订单拆单在电商网站建设网站做代练
  • 校园官方网站建设企业网站设计制作教程
  • 鹿泉外贸网站建设马鞍山网站建设 明达
  • 网站内链如何布局宁波seo服务推广
  • 个人网站可以不备案吗visual studio网站开发教程
  • 三五互联网站后台物流炒货怎么做网站
  • 自驾游自由行网站建设做会所在哪个网站推广
  • 支付网站建设推广的会计分录wordpress关闭文章摘要
  • 古城区建设局网站wordpress媒体库 下载
  • 珠海网站系统建设中信建设官方网站