一、BeanFactorySpring Bean 创建是典型工厂模式,这一系列 Bean 工厂,也即 IOC 容器为开发者管理对象 间依赖关系提供了很多便利和基础服务,在 Spring 中有许多 IOC 容器实现供用户选择和使用, 其相互关系如下: 其中 BeanFactory 作为最顶层一个接口,它定义了 IOC 容器基本功能规范,BeanFactory 有三 个重要子类:L
转载 2024-09-06 22:48:56
45阅读
目录一、UML及流程分析1.UML组成2.流程分析二、源码分析1.DefaultListableBeanFactory实例化bean部分2.AbstractBeanFactory抽象3.AbstractAutowireCapableBeanFactory抽象4.DefaultSingletonBeanRegistry5.AutowiredAnnotationBeanPostProc
转载 2024-05-15 12:05:01
1017阅读
Web开发五、视图解析与模板引擎视图解析:SpringBoot默认不支持 JSP,需要引入第三方模板引擎技术实现页面渲染。一、视图解析1、视图解析原理流程①目标方法处理过程中,所有数据都会被放在 ModelAndViewContainer 里面。包括数据和视图地址②方法参数是一个自定义类型对象(从请求参数中确定),把他重新放在 ModelAndViewContainer③任何目标方法执行完成
转载 2024-05-30 09:57:58
21阅读
一、 UML基本使用mermaid官方网址:Class Diagram (mermaid-js.github.io)。官网学习指南:语法和功能使用classDiagram开启编辑1. 定义一个① 使用class关键字语法:class 名如:class Employee2. 定义方法与属性① 方式一语法:名 : 修饰符 属性注意:修饰符与属性或者方法间不能有space空格名 :
转载 2024-07-30 21:11:07
310阅读
spring复习spring是一个轻量级,非侵入式,IOC,AOP,一站式,简化企业级开发而生.核心包非常小业务代码中不侵入框架代码IOC: 控制反转 将生成对象权利 反转给了spring框架 依赖注入DI 为属性注入值AOP: 面向切面编程, 将一些与业务代码无关公共部分抽取出来,使用时,通过代理对象调用,从而达到不修改源代码基础上增加功能,代码耦合度降低.一站式框架: 数据持久
转载 2024-06-20 11:16:13
17阅读
Spring简介Spring是开源控制反转(Ioc)和面向切面编程(AOP)容器框架,Spring主要功能用于默认单例模式管理Bean对象、生产Bean、声明式事务、以及AOP开发。SpringIoc如下所示: 在Spring中主要核心和接口层,也是下面文章重点讲解核心知识,如下几个: BeanFactory:Bean工厂顶层接口,生产任意Bean。ApplicationC
转载 2024-04-09 21:23:01
743阅读
Spring Boot优雅整合Swagger2,自动生成在线文档日常求赞,感谢老板。一、前言现在很多项目都是前后端分离,后端提供接口,前端调用接口,在这个过程中一般后端会向前端提供一份接口文档,但是随着程序调整,我们还要不断去迭代接口文档,最后可能会搞出一堆,写起来比较耗时且在规范性上也很难要求。在这个前提下我们可以选择Swagger加入到我们项目中。Swagger提供了很多功能,其中
转载 2024-09-17 20:51:10
175阅读
常用注解概览这里整理了一张SpringBoot常用注解思维导,本文主要讲解这些注解用法。组件相关注解@Controller用于修饰MVC中controller层组件,SpringBoot组件扫描功能会识别到该注解,并为修饰实例化对象,通常与@RequestMapping联用,当SpringMVC获取到请求时会转发到指定路径方法进行处理。/** * @auther macrozh
写过java都知道:所有的对象都必须创建;或者说:使用对象之前必须先创建。而使用ioc之后,你就可以不再手动创建对象,而是从ioc容器中直接获取对象。 就好像我们无需考虑对象销毁回收一样,因为java垃圾回收机制帮助我们实现了这个过程;而ioc则是让我们无需考虑对象创建过程,由ioc容器帮我们实现对象创建、注入等过程。 控制反转 spring ioc容器 在Spring框架
这几天有点忙,中间还写了别的博客。之前了解了mybatis自动生成器(mybatis使用另外再写)。然后我们先理解springboot配置文件和项目结构。首先看图这是我在介绍maven时候新建工程之后截一张。是的,我们只要新建maven工程就可以了,不需要选springboot工程。spring框架会在pom文件里引入。不论是Eclipse还是IDEA操作都是差不多。如果是导入项目,
转载 2024-03-20 14:17:38
121阅读
IOC(Inversion of Control)控制反转:把代码中需要实现对象创建、依赖代码反转给容器来帮忙实现。DI(Dependency Injection)依赖注入:对象从容器中查找它依赖,并赋值。思考: 1、对象与对象关系表示:xml,properties文件等语义化配置文件表示 2、描述对象关系文件存放地方:classPath,filesystem,URL网络资源,se
文章目录前言源码主流程parse解析配置处理 @ComponentScan注解处理 @Import注解ImportSelectorImportBeanDefinitionRegistrar@import普通 前言         前文学习了Spring容器启动主流程分析,Spring会在AnnotatedB
      漫漫学习路,无处是尽头。“技术是学不完,只能学会学习能力,并不断学习才是真”这句绝对真理。总结虽是,斌哥布置练习,但完成这个练习过程中,却真心是温习了很多,学习了很多。      进入正题,下面总结下简单账号管理系统实现过程。    &
转载 10月前
74阅读
springboot整合jpa项目入门级别demo前言一、新建一个空boot项目二、准备好数据库,下面以MySQL为主三、导入依赖四、生成JPA实体五、JPA基本注解六、JPQL 和 EntityManager七、配置文件八、附clone代码地址 前言简单基础入门级别,有基础勿留香!一、新建一个空boot项目傻瓜式创建即可二、准备好数据库,下面以MySQL为主创建好测试表dog表,待用三、导入依
转载 8月前
30阅读
视图解析与模板引擎 文章目录视图解析与模板引擎一、视图解析1、处理方式2、视图解析原理过程二、模板引擎-Thymeleaf1、thymeleaf简介2、基本语法(1)表达式(2)字面量(3)文本操作(4)数学运算(5)布尔运算(6)比较运算(7)条件运算(8)特殊操作3、设置属性值-th:attr4、迭代5、条件运算6、属性优先级三、Thymeleaf使用1、引入Starter2、自动配置好了t
最终效果 前端页面只需要选择后端逻辑,就可以控制定时任务开启与关闭下面是整合步骤: 首先从官网中http://www.quartz-scheduler.org/ 点击Downloads下载quartz-2.2.3-distribution.tar下载后在目录\docs\dbTables下有常用数据库创建quartz表脚本 table_mysql.sqltable_my
转载 2024-06-19 20:53:48
36阅读
我用是jude这工具,现在叫Astah,据说不好用,但是好歹是免费。不明白线有什么区别和功能,特总结在这。这两种我明白,左边是继承,更标准解释是泛化(generalization)右边是实现(Realization),但下面这八种不明白左上一:Unspecified Association To Unspecified Association (不明解释对不明解释)左上二:Unsp
转载 2023-10-10 14:18:29
145阅读
SpringBoot支持JSP、Freemarker、HTML、Thymeleaf等多种视图技术。下面介绍几种常见视图与SpringBoot整合。HTML视图SpringBoot默认会从以下四个静态资源文件夹加载资源。如果在Controller控制器中返回xxx.html,那么SpringBoot会自动从上而下查找下面目录中是否存在该文件。src/main/resources/static/ s
Spring Boot 核心:约定优于配置约定优于配置,也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定数量、获得简单好处,而又不失灵活性。本质是说,开发人员仅需规定应用中不符合约定部分。如:模型中有个名为 User ,那么数据库中对应表就会默认命名为 user。只有在偏离这一约定时,例如将该表命名为 “user_info”,才需写有关这个名字配置。在 Sprin
转载 2024-03-19 15:51:20
34阅读
前言1、如何打包一个工具?2、如何在工具中引入第三方jar包?3、如何在调用工具时能够正确识别工具静态资源?4、如何在静态方法中注入变量?如果你有以上问题,请看下去,相信对你有帮助。目录1、打包2、正确识别工具包中静态资源3、静态方法中使用配置文件最近把项目里一些零散工具整理了下,心想干脆封装成一个工具,之后便于复用。由于之前没有封装过工具,过程中间花了很多时间,踩了很多坑,
  • 1
  • 2
  • 3
  • 4
  • 5