spring入门复习资料

Spring Cloud 从入门到精通 Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。 本课程由浅入深带领大家一步步攻克 Spring Cloud 各大模块,接着通过一个实例带领大家了解大型分布式微服务架构的搭建过程,最后深入源码加深对它的了解。 本课程共分为四个部分: 第一部分(第... 阅读详情

1、简述spring

      Spring是一个轻量级的IOC和AOP容器框架

2、Spring常用的三种配置

      基于XML、注解、Java的配置

3、主要模块

      Spring Core:核心类库,提供IOC服务

      Spring Context:提供框架的Bean访问方式,以及企业级功能(JNDI、定时任务)

      Spring AOP:面向切面编程

      Spring DAO:面向JDBC的抽象,简化了数据访问异常处理

      Spring ORM:对现有的ORM框架的支持

      Spring WEB:提供了基本的面向web的综合特性,例如多方文件上传

      Spring MVC:提供面向WEB应用

4、IOC和DI的对比概述

      IOC即控制反转:以前创建对象是开发人员维护,依赖㽑也是自己注入。使用Spring以后,对象创建和依赖关系由spring完成创建和注入。反转就是对象的创建的方式。由我们自己创建交给程序创建。

      DI:Dependency Injection依赖注入:当需要对象时,Spring将新建好的对象注入进来。

              注入方式:

                     ①  set方式注入 :<property name="" ref=""/>

                     ②  构造方法注入 :<constructor-arg index="" ref=""/>

                     ③  方法注入:<lookup-method name="" bean=""/>

                                  在目标对象中定义一个普通的方法,将方法的返回值设置为需要注入的依赖对象类型。

              注入类型:1、值类型注入  2、引用类型注入

     IOC和DI的优点:

              1、降低组件之间的耦合度,使软件各层之间解耦

5、spring的ioc容器中配置bean状态

       singleton(默认):单例

       prototype:非单例

       request / session/global session:web专用

6、IOC注解

             优势:简化了xml文件配置

      控制反转类型:

               @Component

               @Controller

               @Service

               @Repository

      注入类型:

                @Autowired (这个注解属于Spring):基于类型注入;可用于构造方法、成员变量、方法

                @Qualifier("bean名称"):配合@Autowired,当相同接口类型有多个实现时。如:@Service("对应名")

                 @Resource(这个注解属于J2EE的):@Resource(name="")=@Autowired+@Qualifier

3、编程式事务、声明式事务

     编程式事务:既手动控制事务;开发相对繁琐,每次都需要开启、提交、回滚

     声明式事务:spring管理,核心实现就是AOP,属于粗粒度的事务控制:只能给整个方法应用事务,不可以对方法的某几行应用事务。

4、spring框架中提供的两种实例化bean对象的工厂类型

      1)BeanFactory及其直接实现子类XmlBeanFactory

              使用时,通过getBean("")实例化一个bean

      2)ApplicationContext及其直接实现子类

              ioc容器解析时实例化所有bean

5、Spring在web.xml中的注册

       1) ContextLoaderListener:加载Spring中application.xml文件,并初始化IOC容器

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

       2) DispatcherServlet:与Spring IoC容器无缝集成,渲染视图页面

    <!-- 可以配置多个,用于加载不同的xml配置文件 -->
    <servlet>
        <servlet-name>chapter2</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <!-- load-on-startup:加载顺序 -->
        <load-on-startup>1</load-on-startup>
        <!-- 初始化参数 -->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath*:/spring-mvc.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>chapter2</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
 

        3)  RequestContextListener:想让你的容器里的某个bean拥有request、session或global session。除了在bean级上配置相应的scope属性,还必须在容器级做一个额外的初始化配置。

    <!-- 此配置是Servlet 2.4后使用的 -->
    <listener>  
        <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>  
    </listener> 

        4) spring过滤器设置编码格式

    <filter>
        <filter-name>encodingFilter</filter-name>
        <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
        <init-param>
            <param-name>encoding</param-name>
            <param-value>UTF-8</param-value>
        </init-param>
        <init-param>
            <param-name>forceEncoding</param-name>
            <param-value>true</param-value>
        </init-param>
    </filter>

4、Spring文件上传

      1)SpringMVC中需要xml中配置

<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
	<!-- 默认编码 -->
	<property name="defaultEncoding" value="utf-8" />
	<!-- 文件大小最大值 -->
	<property name="maxUploadSize" value="1048" />
	<!-- 内存中的最大值 -->
	<property name="maxInMemorySize" value="40960" />
</bean>

       2)SpringBoot中的配置

                1.先在application.properties中配置

                        multipart.maxFileSize=50MB

                        multipart.maxRequestSize=50MB

                 2.在配置类中配置

                         类名上添加@Configuration,表明这是一个配置类

                         在类中添加如下代码:

                @Bean // @Bean这个注解会吧return的那个类装到spring的bean工厂里
				public MultipartConfigElement multipartConfigElement(){
					MultipartConfigFactory factory = new MultipartConfigFactory();
					factory.setMaxFileSize("10240KB");
					factory.setMaxRequestSize("102400KB");
					return factory.createMultipartConfig();
				}

      3)form表单中添加enctype="multipart/form-data"
           Controller中使用MultipartFile参数实现单文件上传
           Controller中使用HttpServletRequest接收参数然后强转为MultipartHttpServletRequest再调用.getFiles("filename");实现多文件上传

5、JDK内置计时器

    1.Timer       计时器对象 

    2.TimeTask   任务对象 (实现需求)

6、Spring定时任务   

            基于注解@Scheduled和Quartz框架

    1.基于注解@Scheduled适用于较少定时任务时

    2.Quartz框架适用于较多定时任务时,采用多线程架构保证可伸缩性。

 

7、事务
    事务需要满足四个条件:
        1、原子性
        2、一致性
        3、隔离性
        4、持久性
    事务并发读问题:
        1、脏读:读取到另一个事务未提交的数据
        2、不可重复度:两次读取不一致(数据被修改)
        3、幻读:读到另一个事务已插入一条数据(新增删除数据)
    事务四大隔离级别:
        1、串行化(最严格,性能最差)
            不会发生任何并发问题
            性能最差
        2、可重复度
            防止脏读和不可重复读,不能防止幻读
            性能较上个好
        3、读已提交
            防止脏读,不防止不可重复读和幻读
            性能较上个好
        4、读未提交
            可能出现任何事物并发问题,什么都没处理
            性能最好

8、webservice应用程序

       web应用程序:基于BS架构的,用于处理基于HTTP协议请求的一个类或者一组类 组成的一个模块/功能,每一个模块 或者 每一个功能 都可以抽象成一个web应用程序.

       webservice应用程序:特殊的web应用程序、将程序中的某个功能或某个模块 发布给 其他工程进行访问

 

       webservice服务器端:用于发布webservice程序

       webservice客户端:通过webservice技术访问其他服务器发布的webservice程序

 

      webservice技术 : 
               axis2  重量级的webservice技术;必须配置在服务器中进行使用 [jndi方式进行访问]
               xfire  提供了myeclipse内置集成
               cxf 提供了spring集成 

9、cxf 

      1 基于cxf - webservice程序的发布
          webservice服务器端

          1.1 在spring环境下添加cxf框架支持
                a 导入cxf提供的核心jar 以及spring提供的整合jar
                b 在ioc容器中导入cxf提供的命名空间、schame文件
                c 在ioc容器中导入cxf提供的第三方辅助xml文件
                     cxf.xml 
                     cxf-servlet.xml
                     cxf-extension-soap.xml

          1.2 在spring环境下,使用cxf发布webservice应用程序
                 a 提供一个普通的web应用程序
                     webservice技术底层采用接口编程
                     将一个普通的web应用程序 发布给 其他工程进行使用的话
                     不能将这个程序的具体实现发布出去
                     发布webservice,只需要将该程序的声明发布出去
                     接口
                 b 为需要发布成webservice应用程序的普通程序提供接口实现,
                 c 使用 @WebService 标注需要发布成webserivce程序的对象及其实现的接口
                 d 在ioc容器中配置发布的过程

                 e 注册一个用于接收其他工程向本工程发送的webservice请求的中央控制器(请求接收器)
                       web.xml 
                       CXFServlet

                测试发布是否成功

                http://localhost:8080/cxf_server/ws/hello?wsdl

                将访问的接口 以 wsdl 格式 展示出来

                wsdl  webservice底层文件协议
                     底层采用xml技术实现

                 webservice技术会将所有发布的webservice程序以xml形式进行存储和交互


2 webservice客户端
    使用cxf访问其他工程发布的webservice应用程序

2.1 非spring环境下
    直接使用cxf进行访问

    a 创建java工程 , 添加cxf 核心jar(12)
    客户端访问webservice应用程序也是基于接口方式
    b 将服务器发布的webservice应用程序提供的接口添加到客户端程序中
    保证客户端使用的接口必须和服务器提供的接口一模一样

2.2 spring环境下 , 集成的方式进行访问

    
    接口方式 : 
    仅适用于服务器端和客户端使用java语言

    wsdl地址发布 :
    http://localhost:8080/cxf_server/ws/hello?wsdl
    
    将地址对应的webservice程序解析出来


配置cxf环境变量 : 
    cxf_home  D:\apache-cxf-2.7.17
    path      D:\apache-cxf-2.7.17\bin
    classpath D:\apache-cxf-2.7.17\lib
 

spring全面详解-最全最详细的spring基本认识和入门使用 Spring是一款主流的Java EE 轻量级开源框架,目的是用于简化Java企业级引用的开发难度和开发周期。从简单性、可测试性和松耦合度的角度而言,任何Java应用都可以从Spring中受益。Spring框架提供自己提供功能外,还提供整合其他技术和框架的能力。Spring自诞生以来备受青睐,一直被广大开发人员作为Java企业级应用程序开发的首选。时至今日,Spring俨然成为了Java EE的代名词,成为了构建Java EE 应用的事实标准。 阅读详情

相关推荐

Spring快速入门

引言 最近几天一直在忙着学习数据结构和算法,关于JavaEE的框架也有一阵子没更新了。那么今天就来聊一聊Spring框架吧,针对该框架写一篇快速入门的文章。 Spring简介 Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分J...

。。。 1万+

Spring知识点总结 Spring基础到深入(持续更新)

Spring知识点总结【非常丰富】基础到深入

Code_Guan的博客 7240

【Qt-4】QT基于qhttp-server搭建http服务器

QT搭建http服务器

WXG1011的博客 5710

Spring的重点知识

spring是java应用程序开发的框架,使用此框架可以创建性能更好、易于测试、可重用的代码* Spring是一个开源的java平台* spring是轻量级的框架* spring框架的核心特性是可以用于开发任何java应用程序,但是在java EE平台上构建web应用程序是需要扩展的数据库事务就是一种SQL语句执行的缓存机制,不会单条执行完毕就更新数据库数据,最终根据缓存内的多条语句执行结果统一判定。* 一个数据库内所有语句成功,可以触发commit提交事务来结束事务,更新数据。

ggggggzzzzz的博客 1352

Windows Server+SqlServer Always On实战:5步搞定高可用集群搭建

本文详细介绍了在Windows Server环境中,通过5个关键步骤搭建SQL Server Always On高可用集群的实战指南。内容涵盖从底层故障转移集群配置、SQL Server实例启用Always On功能,到创建可用性组和侦听器的完整流程,并提供了核心运维与故障排查思路,帮助企业构建稳定可靠的数据库高可用架构。

milk5的博客 855

PCB中的CAF深度剖析与对策研究

摘要:本文系统研究了PCB板的导电阳极丝(CAF)问题,阐明了CAF是在电场作用下铜离子沿玻纤微裂通道迁移形成导电丝的现象,其形成需铜、水汽、电解质、偏压和迁移通道五个条件。CAF会导致PCB绝缘性能下降和信号传输异常,严重影响电子产品可靠性。研究提出了板材选择、钻孔工艺控制、叠板结构优化等预防措施,以及增大孔距、错位排列等设计注意事项,并介绍了IPC-TM-650-2.6.25测试标准。未来应在耐CAF材料、测试技术和制造工艺方面深入研究,以提升PCB可靠性。(150字)

2401_84691632的博客 1704

Spring相关知识点(全集)

1Spring概述 1.1Spring概述 1.spring是一个开源框架。 2.spring为简化企业级开发而生,使用spring,Javabean就可以实现很多以前要考EJB才能实现的功能。同样的功能,在EJB中要通过繁琐的配置和复杂的代码才能实现,而在spring中去表现的优雅和简介。 3.spring是一个IOC(DI)和AOP容器框架。 4.spring的优良特性 非侵入式:基于spring开发的应用中的对象可以不依赖与spring的API 依赖注入:DI--Dependency I

qq_54746841的博客 2199

龙芯3A5000开发板PMON升级UEFI固件实战指南

固件是计算机硬件与操作系统之间的关键桥梁,负责初始化硬件并引导系统启动。其工作原理是在上电后执行自检、加载引导程序,最终将控制权移交操作系统。在国产化平台中,采用标准化的UEFI固件具有重要技术价值,它能提供图形化配置界面、统一硬件驱动模型,并支持安全启动等现代特性,从而显著提升硬件兼容性与系统管理效率。这一技术广泛应用于PC、服务器及嵌入式设备,尤其在需要运行银河麒麟等主流操作系统的龙芯开发板场景中,将传统PMON固件升级至UEFI,能实现更流畅的系统安装与更稳定的运行体验。本文基于固件升级与UEFI引导

weixin_42664597的博客 560

spring注解关键字

一、            spring注解:1、   @Controller    控制器2、   @Autowired    按照类型匹配,可以完成对类成员变量,方法及构造函数进行标注,完成自动装配的工作   @Autowired(required=false) 在找不到匹配Bean时也不报错3、   @Qualifier    注释指定注入bean的名称,防止冲突,可以对成员变量、方法入参、...

xintingandzhouyang的专栏 898

多核系统核间通信(IPC)设计:从硬件机制到软件实现

在多核处理器与嵌入式系统设计中,核间通信(IPC)是实现计算资源协同工作的核心技术。其原理基于共享内存、硬件邮箱与中断等底层硬件机制,通过构建结构化的消息传递通道,实现核间高效、可靠的数据交换。该技术的核心价值在于打破多核间的壁垒,将分散的计算单元整合为有机整体,从而显著提升系统整体性能与响应能力。在工程实践中,IPC广泛应用于智能座舱、边缘AI网关、实时控制系统等场景,用于处理如仪表显示、AI推理、实时控制等复杂任务。本文聚焦于基于共享内存与VRING的消息队列实现,深入剖析缓存一致性、内存屏障等关键问题

weixin_27006759的博客 590

零基础学习CANoe Panel(5)——改变变量的值,控件图像也改变,这是怎么回事?

Panel 中控件的图像随着值变化,是怎么回事?

蚂蚁小兵 2143

Spring知识点梳理

AOP切面编程:类似于一种拦截器,像一把刀一样选择一个方法为切入点,在这个方法执行的前后可以设置前置通知、后置通知、异常通知等,这些通知可以是对业务进行判断、日志记录、事务回滚等操作。CGLIB 就是第三方 Jar 包,它的作用是在程序运行时,动态生成新的 Java 类(目标类的子类),从而实现代理功能(比如在不修改原有代码的情况下,给某个类的方法增加额外逻辑,如日志、事务、权限控制等)。</</</</Bean就是Spring框架帮忙创建和管理的“对象镜像”、“clazz对象”,即代理对象;

410的博客 1438

PCL点云八叉树体素中心下采样,体素包含点索引提取

基于PCL octree实现点云八叉树计算,支持提取体素中心点进行点云下采样;根据任一点坐标,可以得到其在八叉树中的位置,输出对应体素内其余点的坐标或者索引

qq_48694523的博客 462

Spring入门第一讲——Spring框架的快速入门

Spring的概述什么是Spring据度娘所载: Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。 Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Exp

李阿昀的博客 14万+

自然语言处理6 -- 情感分析

1 概述 情感分析是自然语言处理中常见的场景,比如淘宝商品评价,饿了么外卖评价等,对于指导产品更新迭代具有关键性作用。通过情感分析,可以挖掘产品在各个维度的优劣,从而明确如何改进产品。比如对外卖评价,可以分析菜品口味、送达时间、送餐态度、菜品丰富度等多个维度的用户情感指数,从而从各个维度上改进外卖服务。 情感分析可以采用基于情感词典的传统方法,也可以采用基于深度学习的方法,下面详细讲解 ...

谢杨易的博客 5万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Spring框架入门

​本篇文章主要从**什么是spring**、**spring入门案例**、**spring创建对象的原理**等方面进行对spring入门的学习。

LYH2771994122的博客 1148

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Spring从入门到入土——快速上手Spring

HelloSpring 导入依赖 ​ 我们要想使用Spring,首先肯定要先导入其jar包,我们只需要在maven配置文件中加入响应的依赖,就会自动下载相应的依赖项, <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc --> <dependency> <group...

冢狐的私人空间 1336

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【Spring】创建一个Spring的入门程序

3、创建一个Spring的入门程序 简单记录 - Java EE企业级应用开发教程(Spring+Spring MVC+MyBatis)- Spring的基本应用 Spring与Spring MVC的关系Spring和Spring MVC两者名字类似,但是两者却有着本质的不同。Spring是一个巨大的容器,可以集成各种技术。Spring MVC是一个Web技术,Spring MVC可以集成到Spr...

渐若窥宏大的博客 1573

【Spring基础3】- Spring的入门程序

Spring的入门程序——本章通过第一个 Spring 程序,实现了基于 XML 配置的方式实现 Spring 对 Bean 对象进行管理的操作。

weixin_44382896的博客 1734

Spring入门

耦合(Coupling):代码书写过程中所使用技术的结合紧密度,用于衡量软件中各个模块之间的互联程度内聚(Cohesion):代码书写过程中单个模块内部各组成部分间的联系,用于衡量软件中各个功能模块内部的功能联系高内聚,低耦合就是同一个模块内的各个元素之间要高度紧密,但是各个模块之间的相互依存度却不要那么紧密使用spring整合mybatis技术,完成账户模块(Account)的基础增删改查功能账户模块对应字段编号:id账户名:name余额:money非spring环境1.实体类与表。

weixin_61611746的博客 1171

Spring01——Spring简介、Spring Framework架构、Spring核心概念、IOC入门案例、DI入门案例

Spring01——Spring简介、Spring Framework架构、Spring核心概念、IOC入门案例、DI入门案例

后端小白个人学习记录 1590

【译】Spring官方教程:使用STS的入门指南

原文:Working a Getting Started guide with STS 译者:hanbin 校对:Mr.lzc 这个指南引导您使用 Spring Tool Suite (STS) 去构建入门程序。 你将构建什么 您将选择一个Spring入门程序并将其导入到Spring Tool Suite中。 接下来,您可以阅读指南,然后编写代码并运行项目。

程序猿DD 1万+

Spring Boot开发入门

Spring Boot是基于Spring框架开发的全新框架,其设计目的是简化新Spring应用的初始化搭建和开发过程。Spring Boot整合了许多框架和第三方库配置,几乎可以达到“开箱即用”。Spring Boot 开发入门相对容易。首先,它简化了项目搭建,通过自动配置和 “Starter POMs” 快速构建起项目框架。其次,约定优于配置的理念减少了繁杂的配置工作。在开发中,可以方便地使用嵌入式服务器进行本地测试,无需额外安装外部服务器。配置文件管理简洁明了,方便调整各种属性。

2301_78803839的博客 1503

Spring框架入门指南

Spring是一个轻量级的Java开发框架,由Rod Johnson创建。它主要通过使用JavaBean来实现软件的解耦,简化了Java企业级应用的开发。Spring的核心是控制反转(IoC)和面向切面编程(AOP)。Spring框架是一个功能强大且灵活的开发框架,它通过控制反转和依赖注入简化了Java应用的开发。通过本文的介绍,你已经了解了Spring的基本概念,并搭建了一个简单的Spring Boot应用。希望这篇文章能帮助你更好地入门Spring开发。

Amsssssssssss的博客 1087

Spring入门,看这篇就够了

一篇对Spring入门案例演示的文章,仅供正在学习Spring的小伙伴们参考哟!

m0_54928777的博客 3870
上一篇: vue项目学习
下一篇: Activiti简单复习总结
just_you_java
博客等级 码龄12年 1689粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值