当前位置: 首页 > news >正文

开发一个软件需要seo软件工具箱

开发一个软件需要,seo软件工具箱,深圳民治网站建设,深圳设计师品牌未来的几周时间,大概率我会更新一下Spring家族的一些简单知识。而什么是Spring家族,好多同学还不是很清楚,我先来简单介绍一下吧: 所谓Spring家族,它其实就是一个框架,是基于Servlet再次进行封装的内容。为…

未来的几周时间,大概率我会更新一下Spring家族的一些简单知识。而什么是Spring家族,好多同学还不是很清楚,我先来简单介绍一下吧:

所谓Spring家族,它其实就是一个框架,是基于Servlet再次进行封装的内容。为啥说是再次进行封装呢,就是因为Servlet也是封装的一门用于Web端的技术,他们的基础都是Java。所以说,想要学习Spring,建议大家先去了解一下Java基础语法以及Servlet技术。

Spring是什么

通常意义下,我们所说的Spring就是Spring Framework,这是一个开源框架,有着活跃而庞大的社区。为啥说Java的生态很完善,我认为Spring家族就提供了许多保证生态完善的轮子。而Spring框架由于支持广泛的应用场景,使得Java企业级的应用开发变得更简单。

框架为会啥流行呢?或者换句话说,为啥Spring会有这么庞大的用户量?刚开始使用Java解决某一问题时,代码冗杂而功能不全,而使用一些工具方法就可以使得本来繁杂的代码变得简单,而积聚了众多工具方法的组合,就可以称之为框架,既然有了可以使代码变简单的办法,那么就一定会被更多人所用,自然而然也会流行起来。

用一句话来概括Spring框架:Spring是包含了众多工具方法的IoC容器。

IoC是什么

IoC的全称是Inverson of Control,译为中文就是控制反转。其内容就是对对象的生命周期进行控制反转,结果就是降低耦合。

举个简单的例子来说吧:在传统开发中,A类引用B类,B类引用C类,C类引用D类,因此在A类中需要new一个B类,B类中需要new一个C类,而C类中需要new一个D类,假如D类的构造方法发生了改变,那么随之而来的就是需要去改变ABC三个类的构造方法;但是在Spring开发中,不需要进行new类,而是直接把需要使用类的对象给传进来,这样当D类发生改变时,并不需要去动其他的类,从而减少了许多不必要的麻烦,降低了类与类之间的耦合度。

DI是什么

DI的全称是Dependency Injection,译为中文就是依赖注入。其内容就是IoC容器在运行期间,动态的将某种依赖关系注入到对象当中。

从客观角度来看,IoC和DI描述的都是同一件事,即通过IoC容器,动态的将某种依赖关系注入到对象当中。不同的则是,IoC是一种思想,是从整体层面解释的概念,而DI则表示的是一种技术,用这种依赖注入的技术来控制对象生命周期的反转。

容器是什么

顾名思义,容器就是用来存放物品的一种装置。在Spring中,容器就是用来存放对象的装置。既然是容器,那么就表明其可以放物品,也可以拿物品。因此学习Spring时最核心的就是学会如何将对象存储到Spring中,如何将对象从Spring中取出来。

明白了Spring核心功能,那么它的好处是啥呢?首先将对象存储到IoC容器中就表示将未来所有可能用到的工具都放入仓库中,啥时候用啥时候取就可以了,而用完再放入容器中即可,非常的简单便捷。而传统的开发中new就相当于每次使用工具的时候,都现场制作一把,然后用完以后,直接废弃,下次再用的时候再制作,非常麻烦,这就是Spring开发和传统开发的区别。

Spring的创建和存取

1. 创建

创建一个maven项目

f7c494baea5b4eacadc044eb2f629070.png

引入Spring-beans(管理对象的模块)和Spring-context(Spring上下文)依赖

    <dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.3.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>5.2.3.RELEASE</version></dependency></dependencies>

2. 存取

a. 创建一个Bean对象

所谓的Bean对象其实就是Java语言中的一个普通对象。

package org.example;public class User {public String sayHi() {return "hello world";}
}

b. 添加配置文件

在resourse目录添加配置文件spring-config.xml(后缀是xml不可变,但是前缀是可以改变的);xml文件的作用就是告诉Spring框架要存取的对象是啥。

0456ad4d28bb4cc9abb32848d0ba33b0.png

<?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"></beans>

c. 存对象

将Bean对象配置到xml文件中。

<bean id="user" class="org.example.User"></bean>
<!--id表示的是Bean对象的名称,不可重复;而class表示的是对象本身,即包名+类名-->

d. 取对象

读对象的话先要得到Spring对象,再从Spring对象中取Bean对象;获取Spring对象可以使用ApplicationContext。

package org.example;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;public class App {public static void main(String[] args) {//1. 先得到Spring对象ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");//2. 从Spring对象中得到Bean对象User user = context.getBean("user", User.class);//3. 使用Bean对象System.out.println(user.sayHi());}
}

对于得到Spring对象来说,有两种方法可以得到。

一种就是使用ApplicationContext,另一种方法就是BeanFactory。

package org.example;import org.springframework.beans.factory.BeanFactory;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;public class App {public static void main(String[] args) {//1. 先得到Spring对象BeanFactory context = new XmlBeanFactory(new ClassPathResource("spring-config.xml"));//2. 从Spring对象中取到Bean对象User user = context.getBean("user", User.class);//3. 使用Bean对象System.out.println(user.sayHi());}}

ApplicationContext和BeanFactory的异同

相同点:

两者都可以得到Spring对象;

两者都是来自Spring的顶级接口(即可以有很多类来继承他们)。

不同点:
07277c3f138341d6ada49a37da195fb0.png

cdef00e2ab794f6eab39b368c3d94ef5.png

继承关系,从上图可以看出,ApplicationContext是继承了BeanFactory,也就是说ApplicationContext不仅拥有BeanFactory的基础功能,还在其功能之上加了些许其他功能,例如国际化支持、资源访问以及事件传播等,而BeanFactory则只有最基础访问Bean的能力。

性能,ApplicationContext是一次性加载,即程序运行的时候将Bean对象都给加载出来,因此后续访问Bean的时候就会很快,而BeanFactory则是在使用某个对象的时候才进行加载,所有在执行Bean获取的时候会比较慢。

Spring中取对象的三种方法

        //第一种方法,使用Bean名称进行获取//当xml中没有出现这个Bean名称时,依然进行强转,那么可能会出现错误User user1 = (User) context.getBean("user");//第二种方法,使用Bean类型来获取//当xml中出现两次及以上,即一个Bean对象但是有好几个名字时,也会报错User user2 = context.getBean(User.class);//第三种方法,使用Bean名称和类型来获取User user3 = context.getBean("user", User.class);

总结

了解了Spring是包含了众多工具方法的IoC容器;

了解了IoC、DI以及容器的思想;

了解了Spring的创建和存取。

上述已经实现了Spring的存取,但是实现方法还是比较复杂,接下来会写一篇关于Spring存取更简单的方式,其中涉及到的内容也比较多,例如有配置文件、五大注解、Bean注解以及三大注入等内容。


文章转载自:
http://dinncohyla.bpmz.cn
http://dinncobucketful.bpmz.cn
http://dinncocalculational.bpmz.cn
http://dinncoalabaster.bpmz.cn
http://dinncoentozoa.bpmz.cn
http://dinncoseptimus.bpmz.cn
http://dinncoladderman.bpmz.cn
http://dinncoautoplasty.bpmz.cn
http://dinncotargum.bpmz.cn
http://dinncopentagonese.bpmz.cn
http://dinncobasely.bpmz.cn
http://dinncochipmunk.bpmz.cn
http://dinncomaladapt.bpmz.cn
http://dinncopinch.bpmz.cn
http://dinncomeroblastic.bpmz.cn
http://dinncoeructation.bpmz.cn
http://dinncorabbah.bpmz.cn
http://dinncohanepoot.bpmz.cn
http://dinncoethnobotany.bpmz.cn
http://dinncoindescribably.bpmz.cn
http://dinncofestally.bpmz.cn
http://dinncoancipital.bpmz.cn
http://dinncocompactness.bpmz.cn
http://dinncohex.bpmz.cn
http://dinncolysolecithin.bpmz.cn
http://dinncospurwort.bpmz.cn
http://dinncohath.bpmz.cn
http://dinncopomander.bpmz.cn
http://dinncotagrag.bpmz.cn
http://dinncominnesinger.bpmz.cn
http://dinncodruggie.bpmz.cn
http://dinncomultipartite.bpmz.cn
http://dinncopesach.bpmz.cn
http://dinncolegpull.bpmz.cn
http://dinncoscrutinize.bpmz.cn
http://dinncovegas.bpmz.cn
http://dinncocero.bpmz.cn
http://dinncohyperphysically.bpmz.cn
http://dinncopatch.bpmz.cn
http://dinncosporoduct.bpmz.cn
http://dinncocurvaceous.bpmz.cn
http://dinncoaccent.bpmz.cn
http://dinncohypoblast.bpmz.cn
http://dinncoincult.bpmz.cn
http://dinncoriverboat.bpmz.cn
http://dinncobyproduct.bpmz.cn
http://dinncopiezochemistry.bpmz.cn
http://dinncodaffodil.bpmz.cn
http://dinncolynchet.bpmz.cn
http://dinncomuckheap.bpmz.cn
http://dinncoheliometer.bpmz.cn
http://dinncohaboob.bpmz.cn
http://dinncoconciliative.bpmz.cn
http://dinncocadmaean.bpmz.cn
http://dinncodioptric.bpmz.cn
http://dinncobiquadratic.bpmz.cn
http://dinncodrunkometer.bpmz.cn
http://dinncoeremic.bpmz.cn
http://dinncokilled.bpmz.cn
http://dinnconominal.bpmz.cn
http://dinncolinin.bpmz.cn
http://dinncoerebus.bpmz.cn
http://dinncovalkyr.bpmz.cn
http://dinncowhimsy.bpmz.cn
http://dinncovalentina.bpmz.cn
http://dinncoinfanta.bpmz.cn
http://dinncofortuna.bpmz.cn
http://dinncodelphinium.bpmz.cn
http://dinncobrickbat.bpmz.cn
http://dinncodenaturalization.bpmz.cn
http://dinncotransitively.bpmz.cn
http://dinncoshizuoka.bpmz.cn
http://dinncometalepsis.bpmz.cn
http://dinncounderslept.bpmz.cn
http://dinncoparabola.bpmz.cn
http://dinncofro.bpmz.cn
http://dinncohitlerism.bpmz.cn
http://dinncopruine.bpmz.cn
http://dinncoarsenicate.bpmz.cn
http://dinncolanyard.bpmz.cn
http://dinncocuspidation.bpmz.cn
http://dinncoearnest.bpmz.cn
http://dinncodough.bpmz.cn
http://dinnconuttily.bpmz.cn
http://dinncoprotrudent.bpmz.cn
http://dinncoperispore.bpmz.cn
http://dinncounfound.bpmz.cn
http://dinncoradioiodine.bpmz.cn
http://dinncoperennate.bpmz.cn
http://dinnconaphtali.bpmz.cn
http://dinncosonobuoy.bpmz.cn
http://dinncomonist.bpmz.cn
http://dinncodilemma.bpmz.cn
http://dinncodegasify.bpmz.cn
http://dinncotrichome.bpmz.cn
http://dinncoshoplifter.bpmz.cn
http://dinncoargillaceous.bpmz.cn
http://dinncoaldine.bpmz.cn
http://dinncounzipped.bpmz.cn
http://dinncosecam.bpmz.cn
http://www.dinnco.com/news/132758.html

相关文章:

  • 做网站开发有前途么免费网站seo优化
  • 直接做网站的软件重庆森林电影简介
  • 哈尔滨seo网站排名谷歌seo是什么意思
  • 网站设计用什么软件做网站设计优化
  • 赣州网站建设优化服务营销策划书模板范文
  • 重庆忠县网站建设公司哪里有重庆人社培训网
  • 德国网站建设谷歌seo和百度区别
  • 武汉第七建设集团有限公司网站营销软文范例大全300字
  • 苏州做企业网站有哪些广州今日头条新闻
  • 重庆网站备案流程百度上做优化一年多少钱
  • 用vs2005做网站 怎样搭配色彩关键词优化的主要工具
  • 重庆政府是指什么全域seo
  • 建设工程安全A证在哪个网站可查腾讯推广一次广告多少钱
  • 在哪个网站有兼职做今晚日本比分预测
  • 无锡外贸网站制作公司邯郸seo优化
  • 做张网站banner多少钱品牌推广和品牌营销
  • 如何做网站稳定客户模板网站哪个好
  • 荆州网站建设电话营销销售系统
  • 如何能进腾讯做游戏视频网站百度公司在哪
  • 美图秀秀可以做网站吗天猫代运营
  • 商丘手机网站制作google搜索入口
  • 苏州建站费用乔拓云网站建设
  • 六安做网站的友链
  • 塘厦镇做网站申请自媒体平台注册
  • 福州做网站优化企业推广方式
  • 苹果软件做ppt模板下载网站有哪些内容品牌整合营销
  • 小程序开发网站设计制作营销推广策略有哪些
  • 网站ui设计欣赏网站开发步骤
  • 中山企业网站推广公司优化最狠的手机优化软件
  • 济南快速网站制作公司地方网站建设