Spring框架重要知识点总结(一)

Spring框架最全知识点 Spring框架最全知识点总结 阅读详情

一、spring框架概述

spring解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EE full-stack(一站式) 轻量级开源框架。

二、spring框架的优点

1、方便解耦,简化开发;2、支持面向切面编程(AOP);
3、支持声明式事务的处理,只需要通过配置对事务进行管理无需手动;4、方便程度测试。spring对Junit支持,可以通过注解测试spring程序;5、方便集成优秀框架;6、降低API的使用难度;

三、spring核心技术

(一)什么是IOC

IOC:控制反转,将对象创建的权利反转给spring的框架,是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。

1、IOC程序入门

第一步:创建maven仓库java工程
第二步:引入坐标①spring-context②commons-logging③log4j④junit
主要的4大jar包:
①Spring Beans:Spring IOC的基础实现,包含访问配置文件、创建和管理bean等,所有应用都用到。
②Spring Context:在基础IOC功能上提供扩展服务,此外还提供许多企业级服务的支持,有邮件服务、任务调度、JNDI定位,EJB集成、远程访问、缓存以及多种视图层框架的支持。
③Spring Core:Spring的核心工具包 ,其他包依赖此包
④spring-expression-3.1.0.RELEASE.jar
第三步:导入log4j文件
第四步:使用接口方式,创建业务层和持久层
第五步:并在测试类中调用(使用创建对象的方式)
接下来使用新方式IOC:
1.1首先创建applicatinContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
                    http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--IOC管理bean-->
    <bean id="userService" class="demo.serviceImpl" />

</beans>

1.2编写测试类
步骤:①创建spring工厂;②从容器中获取;③调用方法

@Test
    public void run(){
        ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");
        Service service = (Service) ac.getBean("userService");
        service.save();
    
2、IOC技术总结

ApplicationContext接口,工厂的接口,使用该接口可以获取到具体的Bean对象。该接口下有两个具体的实现类。
ClassPathXmlApplicationContext(加载类路径下的spring配置文件)
FileSystemXmlAppLicationContext(加载本地磁盘下的spring配置文件)

3、Spring框架的Bean管理的配置文件方式

id属性,Bean起个名字,在约束中采用ID的约束,唯一,取值要求:必须以字母开始,可以使用字母、数字、连字符、下划线、句话、冒号 id:不能出现特殊字符。
class属性,Bean对象的全路径。
scope属性,scope属性代表Bean的作用范围。
singleton单例(默认值),最常用的方式。
prototype多例
request应用在Web项目中,每次HTTP请求都会创建一个新的Bean
session应用在Web项目中,同一个HTTP Session 共享一个Bean
Bean对象的创建和销毁的两个属性配置
说明:Spring初始化bean或销毁bean时,有时需要作一些处理工作,因此spring可以在创建和拆卸bean的时候调用bean的两个生命周期方法
init-method,当bean被载入到容器的时候调用init-method属性指定的方法
destroy-method,当bean从容器中删除的时候调用destroy-method属性指定的方法

4、实例化Bean对象的三种方式

默认是无参数的构造方法(默认方式,基本上使用)

<bean id="userService" class="demo.serviceImpl" />

静态工厂实例化方式
实例工厂实例化方式

(二)什么是DI依赖注入

DI:依赖注入,在Spring框架负责创建Bean对象时,动态的将依赖对象注入到Bean组件中

1、属性的set方法注入值

编写属性,提供该属性对应的set方法,编写配置文件完成属性值的注入

// 编写成员属性,一定需要提供该属性的set方法
private OrderDao orderDao;
// 一定需要提供该属性的set方法,IOC容器底层就通过属性的set方法方式注入值
public void setOrderDao(OrderDao orderDao) {
    this.orderDao = orderDao;
}
// 消息
private String msg;
// 年龄
private int age;
public void setMsg(String msg) {
    this.msg = msg;
}
public void setAge(int age) {
    this.age = age;
}

配置文件中

<bean id="os" class="cn.tx.service.OrderServiceImpl">
    <property name="orderDao" ref="od" />
    <property name="msg" value="你好" />
    <property name="age" value="30" />
</bean>
2、属性构造方法注入值

对于类成员变量,构造函数注入。

public class Car {

// 名称
private String cname;
// 金额
private Double money;

public Car(String cname, Double money) {
    this.cname = cname;
    this.money = money;
}

@Override
public String toString() {
    return "Car{" +
            "cname='" + cname + '\'' +
            ", money=" + money +
            '}';
}}

配置文件

<bean id="car" class="cn.tx.demo2.Car">
    <constructor-arg name="cname" value="大奔" />
    <constructor-arg name="money" value="400000" />
 </bean>
3、数组,集合(list,set,map)Properties等的注入
// 数组
private String [] strs;
public void setStrs(String[] strs) {
    this.strs = strs;
}

private List<String> list;
public void setList(List<String> list) {
    this.list = list;
}

private Map<String,String> map;
public void setMap(Map<String, String> map) {
    this.map = map;
}

private Properties properties;
public void setProperties(Properties properties) {
    this.properties = properties;
}

配置文件

<!--给集合属性注入值-->
<bean id="collectionBean" class="cn.tx.demo3.CollectionBean">
    <property name="strs">
        <array>
            <value>美美</value>
            <value>小凤</value>
        </array>
    </property>
    <property name="list">
        <list>
            <value>亮亮</value>
            <value>建云</value>
        </list>
    </property>
    <property name="map">
        <map>
            <entry key="aaa" value="聪聪"/>
            <entry key="bbb" value="淞铭"/>
        </map>
    </property>
    <property name="properties">
        <props>
            <prop key="username">root</prop>
            <prop key="password">123456</prop>
        </props>
    </property>
</bean>
4、多配置文件的加载方式

在src的目录下又多创建了一个配置文件,现在是两个核心的配置文件,那么加载这两个配置文件的方式有两种!
①<import resource="applicationContext2.xml"/>
②工厂创建的时候直接加载多个配置文件

下一节:
链接: Spring框架重要知识点总结(二).

Spring 框架核心知识点总结与实战指南 Spring 作为 Java 企业级开发的主流框架,凭借其强大的功能和灵活的架构,已成为众多开发者的首选。本文将全面总结 Spring 框架的核心知识点,结合实战案例深入讲解各模块的使用方法,并分享一些最佳实践经验,帮助读者系统掌握 Spring 技术栈。Spring 是一个轻量级的 Java 企业级开发框架,旨在简化企业应用开发的复杂性。IoC(控制反转):将对象的创建和依赖关系管理从代码转移到容器AOP(面向切面编程):实现横切关注点的模块化统一的编程模型:提供一致的方式处理事务、数据访问等。 阅读详情

相关推荐

1.5元主控搞定高精度电流电压采集?STC8G1K08+INA180A3硬件设计全解析

本文详细解析了如何利用成本仅1.5元的STC8G1K08单片机与INA180A3电流检测放大器,构建一套高精度、低成本的电流电压采集系统。文章深入剖析了硬件设计精髓,包括利用MCU内部上拉电阻直驱数码管以节省成本、INA180A3的配置与计算,以及实现高频率采集并与上位机高速通信的软件策略,为嵌入式开发中的极致性价比设计提供了完整方案。

weixin_29166013的博客 600

一篇文章让你彻底掌握Spring所有知识点

Spring知识点大全:IOC控制反转原理及实现、Spring整合德鲁伊、基于xml方式的依赖注入、基于注解@Autowired注解的依赖注入、bean的生命周期、bean的具体管理方式、FactoryBean、、 后置管理器、AOP面向切面编程、AOP术语、基于注解实现AOP思想、基于xml实现AOP思想、静态代理与动态代理、execution切点表达式、切面的优先级等。

weixin_52536274的博客 1564

Fedproto:原型聚合的联邦学习框架

文中说明,联邦学习通过计算传递梯度聚合模型时,客户端之间的异构性通常会阻碍模型优化收敛和泛化性能。故本文提出新的FedProto框架,将梯度替换成为原型,通过计算、聚合从不同客户端收集到的本地原型,然后将全局原型发送回所有客户端,以规范本地模型的训练。对每个客户机进行局部训练的目的是最小化对本地数据的分类损失,同时保持生成的本地原型足够接近相应的全局原型(损失函数最小+正则)。什么是原型?文中提到:“

weixin_47754029的博客 2649

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

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

Code_Guan的博客 7241

单片机技术入门与实战:从零基础到项目开发

单片机(MCU)作为嵌入式系统的核心组件,集成了CPU、内存和各种接口电路,广泛应用于智能家居、工业控制和汽车电子等领域。其工作原理基于实时控制和低功耗设计,通过定时器、中断系统和通信接口等功能模块实现各种控制任务。在物联网和智能硬件快速发展的背景下,掌握单片机开发技术成为电子工程师的重要技能。本文以STM32和PIC系列为例,详细解析单片机的基本概念、功能模块和选型指南,并分享从入门到项目实战的系统学习方法,帮助开发者在3-6个月内快速掌握这一关键技术。

weixin_35753291的博客 652

ONVIF协议简介与协议测试工具使用详解

Onvif协议及协议测试工具使用详解

dvlinker的技术专栏 3万+

Spring框架基础知识详解

Spring 1.Spring概述 Spring是分层的java SE/EE应用 full-stack 轻量级开源框架,以IOC(Inverse of control)翻转控制和AOP(Aspect Oriented Programming:面向切面编程)为内核. 2.Spring两大核心 IOC AOP 3.Spring发展历程和优势 1.方便解耦便于来发 2.AOP编程的支持 ...

weixin_44802421的博客 462

手把手教你学Simulink——基于Simulink的隔离型DC-DC全桥变换器移相控制建模示例

本文详细介绍了基于Simulink的全桥移相变换器(PSFB)建模与控制方法。首先分析了全桥移相拓扑在大功率应用中的优势,包括ZVS实现、高频化和小型化特点。随后给出了具体设计参数和移相控制策略,采用电压外环+移相角内环的双闭环控制架构。文章重点演示了Simulink建模步骤,包括主电路搭建、移相PWM生成和PI控制器设计,并通过满载稳态、负载阶跃和轻载测试三种场景验证了系统性能。最后总结了工程实践要点,提出自适应控制等扩展方向,强调移相控制通过精准时间管理实现高效能量转换的核心价值。

MHD0815的博客 261

SpringBoot单元测试之常见框架和注解

在软件开发中提及"mock",通常理解为模拟对象。它可以用来对系统、组件或类进行隔离。在测试过程中,我们通常关注测试对象本身的功能和行为,而对测试对象涉及的一些依赖,仅仅关注它们与测试对象之间的交互(比如是否调用、何时调用、调用的参数、调用的次数和顺序,以及返回的结果或发生的异常等),并不关注这些被依赖对象如何执行这次调用的具体细节。因此,Mock 机制就是使用 Mock 对象替代真实的依赖对象,并模拟真实场景来开展测试工作。使用 Mock 对象完成依赖关系测试的示意图如下所示: 比如 JUnit、JSON

Java技术攻略的博客 3265

【25届数字IC秋招总结】面试经验13——豪威科技面试

25届数字ic面试记录———豪威科技

lalala0635的博客 363

探秘RK3588:OverlayFS挂载与固件升级全攻略

本文围绕RK3588芯片的OverlayFS文件系统挂载与固件升级技术展开详细阐述。首先介绍了RK3588芯片的卓越性能及其在嵌入式领域的广泛应用,重点分析了OverlayFS文件系统的分层架构原理及其在RK3588设备上的挂载方法,包括详细的挂载步骤、常见问题解决方案。随后详细阐述了RK3588设备在Windows和Linux环境下的固件升级方案,涵盖升级准备、具体操作流程及故障处理等内容。最后通过智能安防监控设备的实际案例,展示了OverlayFS挂载与固件升级技术的应用效果。文章为嵌入式开发者提供了全

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 286

Spring框架知识点一

Spring知识点

guochaoHNU的博客 844

【YOLOv13[基础]】热力图可视化实践 | 脚本升级 | 优化可视化效果 | 论文必备 | GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM等

本文将进行添加YOLOv13版本的升级版热力图可视化功能的实践,支持图像热力图可视化、优化可视化效果、 可以选择使用GradCAMPlusPlus, GradCAM, XGradCAM, EigenCAM, HiResCAM, LayerCAM, RandomCAM, EigenGradCAM。一个参数即可设置是否显示检测框等。

静谧、淡雅 645

框架源码知识点(spring)一

spring知识点

willard_z的博客 1038

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

spring框架知识点总结(一)

新手上路#4 一、spring简介 1.spring是分层的javaSE/EE应用的轻量级开源框架,以IOC和AOP为内核。可以整合开源世界中众多著名的第三方框架和类库,逐渐成为使用最多的Java EE企业应用开源框架。 2.spring的作用 (1).方便解耦,简化开发 (2).AOP编程的支持 (3).方便程序的测试 (4).方便集成各种优秀的框架 (5).降低java API的使用难度 二、控制反转 IOC—Inverse Of Control 1.作用 不再使用自己new 对象的形式,而是将对象的创

weixin_53494391的博客 248

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

JAVA知识点总结(一)—Spring框架

spring全家桶 Spring Core ->Spring Security-> Spring Data->Spring Boot->Spring Cloud(微服务架构) ->Spring Cloud DataFlow spring spring是一个开源框架,为简化企业级应用开发而生,spring可以使简单的Javabean实现以前只有EJB才能实现的功能,...

qq_41882366的博客 304

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【Spring框架】Spring核心知识点剖析(一)之IOC

Spring核心知识点剖析(一)之ICO 最近刚开始接触Spring框架部分,写此博客记录学习内容。 Spring的基本概念 Spring:不管学过没学过,大家对Spring都有所了解。Spring是一款开放源码的Java框架,它致力于代码之间的松耦合。S pring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/...

没有大鱼大肉,谈什么风花雪月 186

spring5框架知识点总结(一)IOC篇

spring5框架知识点总结 Spring5 框架概述 1、Spring 是轻量级的开源的 JavaEE 框架 2、Spring 可以解决企业应用开发的复杂性 3、Spring 有两个核心部分:IOC 和 Aop (1)IOC:控制反转,把创建对象过程交给 Spring 进行管理 (2)Aop:面向切面,不修改源代码进行功能增强 4、Spring 特点 (1)方便解耦,简化开发 (2)Aop 编程支持 (3)方便程序测试 (4)方便和其他框架进行整合 (5)方便进行事务操作 (6)降低 API 开发难度 I

m0_50654102的博客 446

Spring框架知识点(一)

Spring是一站式框架 1.spring在JavaEE三层结构中,每一层都提供不同的解决技术 Web 层:springMVC Service 层:spring 的 ioc Dao 层:spring 的 jdbcTemplate Spring 概念 1. spring 是开源的轻量级框架 2. spring 核心主要两部分: (1)Aop:面向切面编程,扩展功能不是修改源代码实现 (2)Ioc :...

gaofengyan的博客 842

Spring学习知识点总结一(了解Spring框架)

1.了解Spring “Spring”本身并不是特指一个框架,而是一个庞大的社区。 它致力于开发基于Java语言的轻量级、耐用框架。 其主要目的是为了解决企业及应用程序开发的复杂性。 Spring社区下包含诸多产品,例如: Spring Framework 、Spring Boot 、Spring Data 、Spring Cloud 平时通俗意义上所讲的“Spring框架”,就是指Spring Framework项目。 Spring中大部分框架可以单独拿出来作为工具使用,也可以将Sprin..

weixin_45782809的博客 233

spring boot框架知识点整理(一)

1.1 依赖管理 配置文件里见到很多 spring-boot-starter-*: *就某种场景 只要引入starter,这个场景的所有常规需要的依赖都会自动引入 官方地址: https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter 见到 *-spring-boot-starter: 就是第三方为提供的简化开发的场景启动器。 默认版本号查看方式:p

qq_37129192的博客 431

Java之五大框架(Struts、Hibernate、MyBatis、Spring、Spring MVC)知识点总结(一)

目录 一、Struts相关知识点 1、简述Struts架构 2、Struts的工作原理 3、Struts的工作流程 4、Struts对MVC的体现 5、Struts优缺点 二、Hibernate相关知识点 1、Hibernate框架的认识 2、Hibernate工作原理及为什么要用? 3、什么是ORM及为什么要用? 4、常用的ORM框架 5、ORM与JDBC的区别 6、...

Xx丶浅时光的博客 4172

Spring知识点总结

Spring知识点总结 1. 简介一下Spring框架。答:Spring框架是一个开源的容器性质的轻量级框架。主要有三大特点:容器、IOC(控制反转)、AOP(面向切面编程)。 2. Spring框架有哪些优点?谈谈你的看法。答:Spring框架主要有三大优点:(1) 容器。Spring框架是一个容器,能够管理项目中的所有对象。(2) IOC(控制反转)。Spring将创建对象的方式反转了,从程序...

lz1170063911的博客 2万+

Spring框架知识点

今天是圣诞节圣诞老人给我送了个系统bug,24号加班到晚上12点多在便利店买了杯暖柚发现有便利店真好,我还可以喝到暖暖的饮料,最近加班太多,原本今天请假休息、没想到圣诞老人给我送了礼物O(∩_∩)O哈哈~ 昨天系统迁移改造,修改的地方没有测试全面,导致生产功能报错,中午还没缓过来呢,就找vpn连接看问题,发邮件打版本,脑袋很沉、思考缓慢感觉我要挂了O(∩_∩)O哈哈~、最近思考了一下,有些东西记不住了感觉就在嘴边就是说不出来、忘了需要整理一下。给自己立个flag。我知道自己哪里不知道的我都要知道。也就是不

liuzhenteng521的博客 554

Spring面试知识点总结

Spring知识点总结 1. 简介一下Spring框架。答:Spring框架是一个开源的容器性质的轻量级框架。主要有三大特点:容器、IOC(控制反转)、AOP(面向切面编程)。 2. Spring框架有哪些优点?谈谈你的看法。答:Spring框架主要有三大优点:(1) 容器。Spring框架是一个容器,能够管理项目中的所有对象。(2) IOC(控制反转)。Spring将创建对象的方式反转了,从程序...

lz1170063911的博客 1万+
上一篇: Centos7yum安装JDK和Tomcat详细教程
下一篇: Spring学习之思维导图
智汇风渔AI小白
博客等级 码龄7年 1万+粉丝 179原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智汇风渔AI小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值