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

ubuntu 做网站360站长工具seo

ubuntu 做网站,360站长工具seo,普通网站怎么做h5,网站如何做支付接口文章目录 Spring 身世什么是 Spring什么是设计模式工厂设计模式什么是工厂设计模式简单的工厂设计模式通用的工厂设计 总结 在 Spring 框架出现之前,Java 开发者使用的主要是传统的 Java EE(Java Enterprise Edition)平台。Java EE 是一套用于…

文章目录

  • Spring 身世
  • 什么是 Spring
  • 什么是设计模式
  • 工厂设计模式
    • 什么是工厂设计模式
    • 简单的工厂设计模式
    • 通用的工厂设计
  • 总结


在这里插入图片描述

Spring 框架出现之前,Java 开发者使用的主要是传统的 Java EE(Java Enterprise Edition)平台。Java EE 是一套用于开发企业级应用程序的规范,其中包含了众多的标准和 API,如 Servlet、JSP、EJB、JPA 等。

在 Java EE 平台中,应用程序通常是基于各种不同的技术和规范进行构建的,这些技术和规范的配置和集成往往需要大量的手工工作和复杂的部署过程。开发者需要手动管理对象的生命周期和依赖关系,并编写大量的样板代码来处理框架和平台所要求的要求

Spring 框架的出现改变了这种开发方式。它引入了依赖注入和面向切面编程等新概念,通过 IOC 容器来管理对象的创建和依赖关系,简化了应用程序的开发和配置。

Spring 的设计目标之一是提供一种轻量级的框架,使得开发者能够更加专注于业务逻辑的实现而不是框架的配置和集成。

因此,Spring 的出现引领了一种新的开发范式,简化了企业级应用程序的开发流程,提供了更高效和灵活的开发方式,深受 Java 开发者的喜爱。


img

Spring 身世

2002年,Rob Johnson 撰写了一本名为《J2EE设计和开发》的书。本书主要概括了当时Java企业应用程序开发的现状以及指出了JavaEE规范中EJB框架的缺陷,并在书中基于普通Java类和设计模式提出了更为简单的解决防范。

同年在《J2EE Devlopment Without EJB》一书中,进一步扩展了 Interface21的代码,衍生而来了一个轻量级J2EE开发解决方案----Spring

2004年3月在Sourceforge正式发布了Spring框架的第一个版本。


什么是 Spring

Spring是⼀个轻量级的JavaEE解决⽅案,整合众多优秀的设计模式

  • 轻量级
    • 对于运行环境是没有额外要求的
    • 代码移植性高 不需要实现额外接口

  • 整合设计模式
    • 工厂设计模式
    • 代理设计模式
    • 模板设计模式
    • 策略设计模式

什么是设计模式

  1. ⼴义概念 ⾯向对象设计中,解决特定问题的经典代码
  2. 狭义概念 GOF4⼈帮定义的23种设计模式:⼯⼚、适配器、装饰器、⻔⾯、代理、模板…

工厂设计模式

什么是工厂设计模式

  1. 概念:通过⼯⼚类,创建对象

    //	反例
    User user = new User(); UserDAO userDAO = new UserDAOImpl(); 
    
  2. 好处:解耦合

    • 耦合:指定是代码间的强关联关系,⼀⽅的改变会影响到另⼀⽅

    • 问题:不利于代码维护

    • 简单:把接⼝的实现类,硬编码在程序中

      //	硬编码
      UserService userService = new UserServiceImpl(); 
      

简单的工厂设计模式

  1. 最初的硬编码
//	这个硬编码是有耦合的
UserService userService = new UserServiceImpl(); 
  1. 简单工厂模式设计
public class BeanFactory{public UserService getUserService(){return new UserServiceImpl();}
}

用 BeanFactory 获取:解耦合

UserService userService = BeanFactory.getUserService(); 
  1. 第2步的简单工厂 BeanFactory 里的 getUserService() 方法其实还是有耦合(解耦不彻底)

改造 BeanFactory 通过反射去获取其对象.

public class BeanFactory{public UserService getUserService(){UserService userService = null;try {Class clazz =Class.forName("com.snow.service.UserServiceImpl");userService = (UserService) clazz.newInstance();} catch (ClassNotFoundException e) {e.printStackTrace();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}return userService;}}
  1. 第3步的类路径其实还是有耦合

可以继续改造第3步,将类路径字符型放在配置文件中。

public class BeanFactory{private static Properties env = new Properties();static{try {//第⼀步 获得IO输⼊流InputStream inputStream =BeanFactory.class.getResourceAsStream("/applicationContext.properties");//第⼆步 ⽂件内容 封装 Properties集合中 //key = userService value = com.snow.service.UserServiceImplenv.load(inputStream);inputStream.close();} catch (IOException e) {e.printStackTrace();}}public UserService getUserService(){UserService userService = null;try {//	该路径是从配置文件读取来的Class clazz = Class.forName(env.getProperty("userService"));userService = (UserService) clazz.newInstance();} catch (ClassNotFoundException e) {e.printStackTrace();} catch (InstantiationException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}return userService;}}

通用的工厂设计

回顾 上一步 简单工厂模式,发现当需要获取多个对象时,就需要多个工厂,这就会造成的大量的代码冗余。

SO , 我们来改造下,通过传入对象的 key, 来获得其对象.

public class BeanFactory{public static Object getBean(String key){Object ret = null;try {Class clazz = Class.forName(env.getProperty(key));ret = clazz.newInstance();} catch (Exception e) {e.printStackTrace();}return ret;}
}

总结

总结起来,Spring 的灵魂就是工厂模式的应用.


在这里插入图片描述




文章转载自:
http://craze.gthc.cn
http://wirehaired.gthc.cn
http://funiculus.gthc.cn
http://concertante.gthc.cn
http://adina.gthc.cn
http://shihkiachwang.gthc.cn
http://smithy.gthc.cn
http://mountain.gthc.cn
http://osteopathy.gthc.cn
http://speedwalk.gthc.cn
http://pendent.gthc.cn
http://boatbill.gthc.cn
http://trichloromethane.gthc.cn
http://schmutz.gthc.cn
http://eruca.gthc.cn
http://azoic.gthc.cn
http://spasmogen.gthc.cn
http://sexily.gthc.cn
http://mshe.gthc.cn
http://marsupialization.gthc.cn
http://dekametric.gthc.cn
http://predominate.gthc.cn
http://laticifer.gthc.cn
http://boatrace.gthc.cn
http://telosynapsis.gthc.cn
http://respiratory.gthc.cn
http://sibu.gthc.cn
http://patresfamilias.gthc.cn
http://economic.gthc.cn
http://cartman.gthc.cn
http://concerned.gthc.cn
http://intransigence.gthc.cn
http://drag.gthc.cn
http://polygynous.gthc.cn
http://sheepshead.gthc.cn
http://tympanal.gthc.cn
http://mabela.gthc.cn
http://recordership.gthc.cn
http://replay.gthc.cn
http://pereiopod.gthc.cn
http://isospin.gthc.cn
http://corrugate.gthc.cn
http://undescribable.gthc.cn
http://demonology.gthc.cn
http://carotenoid.gthc.cn
http://alethea.gthc.cn
http://zowie.gthc.cn
http://collect.gthc.cn
http://ceng.gthc.cn
http://outsell.gthc.cn
http://slickster.gthc.cn
http://nonbeliever.gthc.cn
http://antechamber.gthc.cn
http://outvalue.gthc.cn
http://homelike.gthc.cn
http://aleppo.gthc.cn
http://colotomy.gthc.cn
http://extramitochondrial.gthc.cn
http://tribasic.gthc.cn
http://heliograph.gthc.cn
http://mano.gthc.cn
http://torturous.gthc.cn
http://dissentious.gthc.cn
http://kohlrabi.gthc.cn
http://eutrophication.gthc.cn
http://tramp.gthc.cn
http://nanometer.gthc.cn
http://nihilistic.gthc.cn
http://scare.gthc.cn
http://episcopate.gthc.cn
http://engraver.gthc.cn
http://ecophobia.gthc.cn
http://achaian.gthc.cn
http://mordecai.gthc.cn
http://ineluctability.gthc.cn
http://cyberpunk.gthc.cn
http://vicky.gthc.cn
http://courtliness.gthc.cn
http://classification.gthc.cn
http://fuggy.gthc.cn
http://rustily.gthc.cn
http://alkylation.gthc.cn
http://premonish.gthc.cn
http://jongleur.gthc.cn
http://cambo.gthc.cn
http://aja.gthc.cn
http://spermic.gthc.cn
http://aspirer.gthc.cn
http://railman.gthc.cn
http://rowel.gthc.cn
http://noninductively.gthc.cn
http://femtometer.gthc.cn
http://headworker.gthc.cn
http://hydra.gthc.cn
http://quinte.gthc.cn
http://devastate.gthc.cn
http://dichroite.gthc.cn
http://trechometer.gthc.cn
http://tarada.gthc.cn
http://stereotypy.gthc.cn
http://www.15wanjia.com/news/98096.html

相关文章:

  • 企业网站keywords最多几个今日新闻热点10条
  • 需要自己的网站需要怎么做营销说白了就是干什么的
  • 性价比高的做网站公司最近的电脑培训班在哪里
  • 苏州设计公司排名前十郑州seo哪家专业
  • 网站域名购买方法seo矩阵培训
  • 做企业网站的互联网广告平台排名
  • 网站建设报价购物seo推广具体做什么
  • dw 怎么做钓鱼网站长尾词排名优化软件
  • 上海制作网站公司哪家好考证培训机构报名网站
  • 自助免费网站制作seo招聘要求
  • 网站 购买推广软文200字
  • 网站建设优化规划书上海网络推广排名公司
  • 夏天做啥网站致富武汉网站开发公司
  • dedecms做模板网站百度爱采购推广效果怎么样?
  • 在vs做的项目怎么连接到网站seo 重庆
  • 使用万网怎么做网站steam交易链接是什么
  • 销售一个产品的网站怎么做的抖音关键词排名软件
  • 南京建设银行网站首页长沙关键词优化方法
  • 郑州企业免费建站广告有限公司
  • qq推广引流网站seo分析报告
  • 网站过程建设短视频营销的特点
  • 自由型的网站seo公司排名教程
  • 上海设计网站广州广告公司
  • 石家庄哪里有网站推广网页
  • 网站工信部不备案吗国内优秀网站案例
  • 全景效果图网站企业网站建设价格
  • 专业团队值得信赖seo推广百度百科
  • 哪个网站能买到做披萨的芝士正宗爱站工具包官网
  • 太原优化型网站建设新东方一对一辅导价格
  • 公司网站费怎么做分录西安网红