电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

Spring5學(xué)習(xí)之基礎(chǔ)知識總結(jié)

瀏覽:3日期:2022-08-13 10:02:03
1.概述

1、Spring 是輕量級的開源的 JavaEE 框架

2、 Spring 可以解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性

3、Spring 有兩個核心部分:IOC 和 Aop

IOC:控制反轉(zhuǎn),把創(chuàng)建對象過程交給 Spring 進(jìn)行管理Aop:面向切面,不修改源代碼進(jìn)行功能增強

4、Spring 特點

方便解耦,簡化開發(fā)Aop 編程支持方便程序測試方便和其他框架進(jìn)行整合方便進(jìn)行事務(wù)操作降低 API 開發(fā)難度 2.入門Demo

1.jar包引入

<project xmlns='http://maven.apache.org/POM/4.0.0' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd'> <modelVersion>4.0.0</modelVersion> <groupId>cn.zj.springDemo</groupId> <artifactId>springDemo</artifactId> <version>0.0.1-SNAPSHOT</version> <description>spring的入門demo</description> <dependencies><dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.3.6</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>5.3.6</version></dependency><dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.3.6</version></dependency> </dependencies></project>

2.bean

package cn.zj.demo.bean;public class User { public void add() {System.out.println('add....'); } }

3.spring的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'> <!--1 配置User對象創(chuàng)建--> <bean class='cn.zj.demo.bean.User'></bean> </beans>

4.測試代碼

package cn.zj.demo.test;import org.junit.jupiter.api.Test;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import cn.zj.demo.bean.User;public class SpringTest { @Test public void testAdd() {// 1 加載 spring 配置文件ApplicationContext context = new ClassPathXmlApplicationContext('bean1.xml');// 2 獲取配置創(chuàng)建的對象User user = context.getBean('user', User.class);System.out.println(user);user.add(); }}

5.輸出

cn.zj.demo.bean.User@24111ef1add....3.源碼

ApplicationContext context = new ClassPathXmlApplicationContext('bean1.xml');public ClassPathXmlApplicationContext( String[] configLocations, boolean refresh, @Nullable ApplicationContext parent) throws BeansException {super(parent);setConfigLocations(configLocations);if (refresh) { refresh();} }

public void refresh() throws BeansException, IllegalStateException {synchronized (this.startupShutdownMonitor) { StartupStep contextRefresh = this.applicationStartup.start('spring.context.refresh'); //容器刷新前的準(zhǔn)備,設(shè)置上下文狀態(tài),獲取屬性,驗證必要的屬性等 prepareRefresh(); //獲取新的beanFactory,銷毀原有beanFactory、為每個bean生成BeanDefinition等 ConfigurableListableBeanFactory beanFactory = obtainFreshBeanFactory(); // Prepare the bean factory for use in this context. prepareBeanFactory(beanFactory); try { //配置標(biāo)準(zhǔn)的beanFactory,設(shè)置ClassLoader,設(shè)置SpEL表達(dá)式解析器,添加忽略注入的接口,添加bean,添加bean后置處理器等postProcessBeanFactory(beanFactory);// 實例化并調(diào)用所有注冊的beanFactory后置處理器(實現(xiàn)接口BeanFactoryPostProcessor的bean,在beanFactory標(biāo)準(zhǔn)初始化之后執(zhí)行)。StartupStep beanPostProcess = this.applicationStartup.start('spring.context.beans.post-process');// Invoke factory processors registered as beans in the context.invokeBeanFactoryPostProcessors(beanFactory);//實例化和注冊beanFactory中擴展了BeanPostProcessor的bean。registerBeanPostProcessors(beanFactory);beanPostProcess.end(); //初始化國際化工具類MessageSourceinitMessageSource(); //初始化事件廣播器initApplicationEventMulticaster(); //模板方法,在容器刷新的時候可以自定義邏輯,不同的Spring容器做不同的事情。onRefresh(); //注冊監(jiān)聽器,廣播early application eventsregisterListeners(); //實例化所有剩余的(非懶加載)單例//實例化的過程各種BeanPostProcessor開始起作用。finishBeanFactoryInitialization(beanFactory); //refresh做完之后需要做的其他事情。//清除上下文資源緩存(如掃描中的ASM元數(shù)據(jù))//初始化上下文的生命周期處理器,并刷新(找出Spring容器中實現(xiàn)了Lifecycle接口的bean并執(zhí)行start()方法)。//發(fā)布ContextRefreshedEvent事件告知對應(yīng)的ApplicationListener進(jìn)行響應(yīng)的操作finishRefresh(); } catch (BeansException ex) {if (logger.isWarnEnabled()) { logger.warn('Exception encountered during context initialization - ' + 'cancelling refresh attempt: ' + ex);}// Destroy already created singletons to avoid dangling resources.destroyBeans();// Reset ’active’ flag.cancelRefresh(ex);// Propagate exception to caller.throw ex; } finally {// Reset common introspection caches in Spring’s core, since we// might not ever need metadata for singleton beans anymore...resetCommonCaches();contextRefresh.end(); }} }

Spring5學(xué)習(xí)之基礎(chǔ)知識總結(jié)

三級緩存

Spring5學(xué)習(xí)之基礎(chǔ)知識總結(jié)

到此這篇關(guān)于Spring5學(xué)習(xí)之基礎(chǔ)知識總結(jié)的文章就介紹到這了,更多相關(guān)Spring5知識總結(jié)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 等离子表面处理机-等离子表面活化机-真空等离子清洗机-深圳市东信高科自动化设备有限公司 | 无锡网站建设_小程序制作_网站设计公司_无锡网络公司_网站制作 | 烟气换热器_GGH烟气换热器_空气预热器_高温气气换热器-青岛康景辉 | 电磁流量计厂家_涡街流量计厂家_热式气体流量计-青天伟业仪器仪表有限公司 | 全自动烧卖机厂家_饺子机_烧麦机价格_小笼汤包机_宁波江北阜欣食品机械有限公司 | 越南专线物流_东莞国际物流_东南亚专线物流_行通物流 | 幂简集成 - 品种超全的API接口平台, 一站搜索、试用、集成国内外API接口 | 隔爆型防爆端子分线箱_防爆空气开关箱|依客思 | 深圳APP开发_手机软件APP定制外包_小程序开发公司-来科信 | 国资灵活用工平台_全国灵活用工平台前十名-灵活用工结算小帮手 | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 | 步进驱动器「一体化」步进电机品牌厂家-一体式步进驱动 | 有机废气处理-rto焚烧炉-催化燃烧设备-VOC冷凝回收装置-三梯环境 | 外贸网站建设-外贸网站设计制作开发公司-外贸独立站建设【企术】 | 不干胶标签,不干胶标签纸_厂家-山东同力胶粘制品 | 防水套管厂家_刚性防水套管_柔性防水套管_不锈钢防水套管-郑州中泰管道 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 大流量卧式砂磨机_强力分散机_双行星双动力混合机_同心双轴搅拌机-莱州市龙跃化工机械有限公司 | HDPE土工膜,复合土工膜,防渗膜价格,土工膜厂家-山东新路通工程材料有限公司 | 南京欧陆电气股份有限公司-风力发电机官网 | 同步带轮_同步带_同步轮_iHF合发齿轮厂家-深圳市合发齿轮机械有限公司 | 福州甲醛检测-福建室内空气检测_环境检测_水质检测-福建中凯检测技术有限公司 | 干粉砂浆设备-干粉砂浆生产线-干混-石膏-保温砂浆设备生产线-腻子粉设备厂家-国恒机械 | 臭氧老化试验箱,高低温试验箱,恒温恒湿试验箱,防水试验设备-苏州亚诺天下仪器有限公司 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | PC构件-PC预制构件-构件设计-建筑预制构件-PC构件厂-锦萧新材料科技(浙江)股份有限公司 | 西点培训学校_法式西点培训班_西点师培训_西点蛋糕培训-广州烘趣西点烘焙培训学院 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 阜阳在线-阜阳综合门户| 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 | 巨野月嫂-家政公司-巨野县红墙安康母婴护理中心 | 语料库-提供经典范文,文案句子,常用文书,您的写作得力助手 | 广西资质代办_建筑资质代办_南宁资质代办理_新办、增项、升级-正明集团 | 河南砖机首页-全自动液压免烧砖机,小型砌块水泥砖机厂家[十年老厂] | 稳尚教育加盟-打造高考志愿填报平台_新高考志愿填报加盟_学业生涯规划加盟 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 铝合金重力铸造_铝合金翻砂铸造_铝铸件厂家-东莞市铝得旺五金制品有限公司 | 杭州营业执照代办-公司变更价格-许可证办理流程_杭州福道财务管理咨询有限公司 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 |