spring
文章平均质量分 80
不会写算法的小王
小小小白
展开
-
Spring面试篇
用于描述Bean,包括Bean的名称,Bean的属性,Bean的行为,实现的接口,添加的注解等等,Spring中,Bean在创建之前,都需要封装成对应的BeanDefinition,然后根据BeanDefinition进一步创建Bean对象。SpringBoot启动的时候核心就两步,创建SpringApplication对象以及run方法的调用,在run方法中会真正的实例化容器,并创建容器中需要的Bean实例,最终返回。初始化接口,当Bean被实例化好后,会回调里面的函数,经常用于做一些加载资源的工作。原创 2024-01-06 13:36:19 · 949 阅读 · 0 评论 -
快速学习SpringBoot
SpringBootspringboot传统方式构建spring应用程序使用springboot子项目构建起步依赖自动配置其它特性SpringBoot项目部署Spring项目部署属性配置方式命令行参数方式配置环境变量方式外部配置文件方式多环境开发-Pofiles多环境开发分组springboot传统方式构建spring应用程序使用springboot子项目构建起步依赖自动配置其它特性SpringBoot项目部署Spring项目部署属性配置方式命令行参数方式配置环境变量方式原创 2024-01-03 13:21:24 · 461 阅读 · 0 评论 -
Spring6新特性
WebFlux的核心是Reactor框架,该框架为响应式编程提供了强大的支持。Flux表示一组元素的集合,而Mono表示一个元素。WebFlux会根据请求的内容和路由信息来选择相应的处理器,处理器会使用Reactor框架处理请求并生成响应。Spring 6.0引入了WebFlux,这是一种全新的非阻塞Web框架,用于构建高性能的Web应用程序。WebFlux的优点是,它能够处理更高的并发量和更短的响应时间,同时还支持异步编程和流式处理。Netty的核心是事件驱动模型,它使用少量的线程池来处理大量的连接。原创 2024-01-02 13:44:34 · 596 阅读 · 0 评论 -
学习SpringCloud微服务
将所有功能集中在一个显目中开发,打成一个包部署。优点:框架简单部署成本低缺点:团队协作成本高系统发布效率低系统可以性差服务化,把单体框架中的功能模块拆分成为多个独立项目。java领域最全面的微服务组件的集合在拆分的时候,我们发现一个问题:就是购物车业务中需要查询商品信息,但商品信息查询的逻辑全部迁移到了item-service服务,导致我们无法查询。最终结果就是查询到的购物车数据不完整,因此要想解决这个问题,我们就必须改造其中的代码,把原本本地方法调用,改造成跨微服务的远程调用。因此,现在原创 2024-01-01 01:30:47 · 1012 阅读 · 0 评论 -
SpringMVC框架
表现层(web)页面数据的收集,产出页面业务逻辑层(service)业务处理数据访问层(Dao)数据持久化基于Java实现MVC模型的轻量化Web框架作用:负责controller层对应的开发将我们操作完的数据转成json格式交给页面原创 2024-01-01 01:18:18 · 539 阅读 · 0 评论 -
常见Spring注解作用
本质上是个Component,用于定义@ExceptionHandler,@InitBinder和@ModelAttribute方法,适用于所有使用@RequestMapping方法。是@Component注解的一个特殊化版本,它用于标记一个类,该类充当Spring应用程序上下文中的服务。将Controller的方法返回的对象,通过适当的转换器转换为指定的格式之后,写入到response对象的body区,通常用来返回JSON数据或者是XML数据。标记一个类为Spring MVC中的控制器。原创 2023-12-27 17:04:42 · 355 阅读 · 0 评论 -
Spring对事务的实现
在一个业务流程当中,通常需要多条DML(insert delete update)语句共同联合才能完成,这多条DML语句必须同时成功,或者同时失败,这样才能保证数据的安全。多条DML要么同时成功,要么同时失败,这叫做事务。原创 2023-11-17 10:13:46 · 278 阅读 · 0 评论 -
SpringJDBC模板类JdbcTemplate
可以看到JdbcTemplate中有一个DataSource属性,这个属性是数据源,我们都知道连接数据库需要Connection对象,而生成Connection对象是数据源负责的。这个数据源可以自己写一个,也可以用写好的,我们这里自己先手写一个数据源。还有一种情况是,查询到多条记录,由于queryForObject()方法只能一次封装一条记录,所以还会提示期望是1,实际是2或更多;JdbcTemplate是Spring提供的一个JDBC模板类,是对JDBC的封装,简化JDBC代码。和配置我们自己写的一样。原创 2023-11-16 15:17:10 · 466 阅读 · 0 评论 -
Spring lOC的注解使用与开发
注解的存在主要是为了简化XML的配置,注解的开发能大大提高我们的开发效率的,但它在一定程度上违背了OCP原则。第二步:在配置文件中指定扫描的包,Alt+enter添加context命名空间 annotate.xml。编写测试程序:不再new ClassPathXmlApplicationContext()对象了。所谓的全注解开发就是不再使用spring配置文件了。加入spring-context依赖之后,会关联加入aop的依赖,不用做。当属性的类型是简单类型时,可以使用@Value注解进行注入。原创 2023-11-15 12:45:05 · 521 阅读 · 0 评论 -
Spring中Bean实例化方式和Bean生命周期
简单类型在注入的时候可以直接使用value属性或value标签来完成,但对于Date类型来说,采用value属性或value标签赋值的时候,对日期字符串的格式要求非常严格,必须是这种格式的:Mon Oct 10 14:30:26 CST 2022。其他格式是不会被识别的。这种情况下,我们就可以使用FactoryBean来完成其他格式。编写DateFactoryBean实现FactoryBean接口:import org// 定义属性接收日期字符串 private String date。原创 2023-11-13 11:09:52 · 324 阅读 · 0 评论 -
GoF之工厂模式
GoF有23种设计模式,还有其它的设计模式,比如:JavaEE的设计模式(DAO模式、MVC模式等)如果想扩展一个新的产品,只要新增一个产品类,再新增一个该产品对应的工厂即可,例如新增:匕首。我们可以看到在进行功能扩展的时候,不需要修改之前的源代码,显然工厂方法模式符合OCP原则。工厂方法模式既保留了简单工厂模式的优点,同时又解决了简单工厂模式的缺点。● 工厂模式是解决对象创建问题的,所以工厂模式属于创建型设计模式。● 第一种:简单工厂模式,不属于23种设计模式之一。● 第三种:抽象工厂模式。原创 2023-11-12 10:18:55 · 268 阅读 · 0 评论 -
spring命名空间注入和XML自动装配、引入外部配置文件
在XML头部信息中添加p命名空间的配置信息:xmlns:p=“http://www.springframework.org/schema/p”Spring还可以完成自动化的注入,自动化注入又被称为自动装配。在spring配置文件中引入context命名空间,配置使用jdbc.properties文件。● 第二:p命名空间注入是基于setter方法的,所以需要对应的属性提供setter方法。使用util命名空间的前提是:在spring配置文件头部添加配置信息。使用util命名空间可以让配置复用。原创 2023-11-11 10:19:55 · 387 阅读 · 0 评论 -
Spring依赖注入方法:set注入和构造注入
从Spring5之后,Spring框架支持集成的日志框架是Log4j2.如何启用日志框架:第一步:引入Log4j2的依赖第二步:在类的根路径下提供log4j2.xml配置文件(文件名固定为:log4j2.xml,文件必须放到类根路径下。)第三步:使用日志框架依赖注入● 依赖指的是对象和对象之间的关联关系。● 注入指的是一种数据传递行为,通过注入行为来让对象和对象产生关系。依赖注入常见的实现方式包括两种:● 第一种:set注入● 第二种:构造注入新建模块:spring6-003-depend原创 2023-11-10 15:45:26 · 547 阅读 · 0 评论 -
spring基础,编写第一个程序
控制反转,是面向对象编程中的一种设计思想,可以用来降低代码之间的耦合度,符合依赖倒置原则。控制反转的核心是:将对象的创建权交出去,将对象和对象之间关系的管理权交出去,由第三方容器来负责创建与维护。控制反转常见的实现方式:依赖注入通常,依赖注入的实现由包括两种方式:● set方法注入● 构造方法注入而Spring框架就是一个实现了IoC思想的框架。IoC可以认为是一种全新的设计模式,但是理论和时间成熟相对较晚,并没有包含在GoF(23种设计模式)中。Spring简介来自百度百科。原创 2023-11-09 17:02:22 · 227 阅读 · 0 评论