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

网站分析 案例东莞中小型网站建设

网站分析 案例,东莞中小型网站建设,一起做网站注册地址,电子商务网站建设心得软件环境 JDK1.8 Maven3.6 IDEA2022.3(Ultimate Edition) Spring5.3.29 主要知识点大纲 1.Spring简介 2.Spring整体架构 3.业务场景中理解Spring IOC(控制反转)和DI(依赖注入) 4.业务场景中理解IOC容器#xff0c;实例化容器#xff0c;实例化Bean的几种方式 5.业务… 软件环境 JDK1.8 Maven3.6 IDEA2022.3(Ultimate Edition) Spring5.3.29 主要知识点大纲 1.Spring简介 2.Spring整体架构 3.业务场景中理解Spring IOC(控制反转)和DI(依赖注入) 4.业务场景中理解IOC容器实例化容器实例化Bean的几种方式 5.业务场景中理解Bean依赖注入(DI)的几种方式 说明:文档中的业务对象都来自于旅游和支付行业 先学会使用Spring各种特性和功能,然后再通过手写Spring掌握原理和设计思想 1.Spring是什么 顾名思义Spring是春天的意思,春天代表万物复苏生机盎然。代表着Spring能给Java行业带来活力和生机那如何能带来活力和生机呢? Spring框架生态庞大现在已经成为Java企业级应用开发一整套解决方案,另外大大简化了企业级应用开发的难度和提高了开发的效率。 Spring 2003年由Rod Johnson(罗宾·约翰逊)创建,从Spring Framework 5.1开始Spring需要JDK 8Java SE 8并为JDK 11 LTS提供开箱即用的支持。建议将Java SE 8更新60作为Java 8的最低补丁版本但通常建议使用最新的补丁版本。 2.Spring整体架构 3.Spring框架中的两个核心思想 3.1 IOC(Inversion of Control) 控制反转 业务场景中的IOC 在没有IOC之前我们如果要到景区去游玩必须得到景区所在地去购买门票。如果有了IOC之后我们就不需要到景区所在地购买门票了只需要交由旅行社或者通过在线订票网站购买即可,那么这个时候购买门票的行为就发生了反转,原来购买门票是自己亲自购买现在则交给了导游或者通过在线订票网站购买。我们Spring中的控制反转是什么呢原来Java对象的创建本来是由用户自己去创建那么现在对象的创建交由Spring IOC容器来创建了。 3.2 DI(Dependency Injection)依赖注入 IOC思想中一个核心的概念就是DI(Dependency Injection)依赖注入 业务场景中的DI 游客购买好门票后要到景区去游玩进入景区的过程中其实就产生了DI依赖注入 游客入园需要门票游客去景区游玩不是单独存在的必须依赖于第三个事物(门票)才能完成,也就是完成一件事情必须相互配合才能完成。Spring可以把完成一件事件需要依赖的对象自动的注入到当前对象中。 4.IOC容器 4.1 什么是IOC容器 在Spring框架中容器是用于存放Java对象,在Spring中对象统一称为Spring Beans,一个对象就是一个Spring BeanBean是IOC容器中的最小单位。 4.2 业务场景中理解IOC容器 如果把游客游玩的景区(scenic)理解为IOC容器那么游客门票游乐设施景区内的剧场、餐厅商店等等对象都是IOC容器中的Bean。 5.实例化容器 代码中用到的Bean对象有游客(Traveller)、门票(Ticket)、订单(Order) 创建Spring项目 5.1 Spring IOC容器重要基础 //对bean进行管理 org.springframework.beans //对容器进行管理 org.springframework.contextdependencygroupIdorg.springframework/groupIdartifactIdspring-beans/artifactIdversion5.3.29/version /dependency dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.3.29/version /dependencyBeanFactory接口提供了一种高级配置机制能够管理任何类型的对象。ApplicationContext是BeanFactory的一个子接口,ApplicationContext接口就是我们的IOC容器 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd/beansApplicationContext context new ClassPathXmlApplicationContext(services.xml, daos.xml);5.2 容器的使用 // create and configure beans 创建和配置bean // 实例化景区(IOC容器)scenicContext ApplicationContext scenicContext new ClassPathXmlApplicationContext(services.xml, daos.xml);// retrieve configured instance 检索配置实例 实例化游客 TravellerService travellerService context.getBean(travellerService, TravellerService.class); /** ticketService入园 use configured instance 使用IOC容器中的实例*/ Boolean success travellerService.enteringPark();//游客在入园bean idtravellerService classcn.itbeien.service.TravellerService/bean nameticketService classcn.itbeien.service.TicketService/6.实例化Beans-XML方式 6.1 使用构造方法进行实例化 bean idtravellerService classcn.itbeien.service.TravellerService/bean nameticketService classcn.itbeien.service.TicketService/ 6.2 使用静态工厂方法进行实例化 bean idtravellerServiceclasscn.itbeien.service.TravellerServicefactory-methodcreateInstance/package cn.itbeien.service public class TravellerService {private static TravellerService travellerService new TravellerService();private TravellerService() {}public static TravellerService createInstance() {return travellerService;} }6.3 使用工厂方法进行实例化 !-- the factory bean, which contains a method called createInstance() -- bean idtravellerService classcn.itbeien.service.TravellerService!-- inject any dependencies required by this locator bean -- /bean!-- the bean to be created via the factory bean -- bean idticketServicefactory-beantravellerServicefactory-methodcreateTicketServiceInstance/ public class TravellerService {private static TicketService ticketService new TicketService();public TicketService createTicketServiceInstance() {return ticketService;} }一个工厂类也可以容纳一个以上的工厂方法如下例所示 !-- the factory bean, which contains a method called createInstance() 工厂bean它包含一个名为createInstance()的方法-- bean idtravellerService classcn.itbeien.service.TravellerService!-- inject any dependencies required by this locator bean 注入此工厂bean所需的任何依赖项 -- /bean!-- the bean to be created via the factory bean 通过工厂bean创建的bean-- bean idticketServicefactory-beantravellerServicefactory-methodcreateTicketServiceInstance/ bean idorderServicefactory-beantravellerServicefactory-methodcreateOrderServiceInstance/public class TravellerService {private static TicketService ticketService new TicketService();private static OrderService orderService new OrderService();public TicketService createTicketServiceInstance() {return ticketService;}public OrderService createOrderServiceInstance() {return orderService;} }7.DI(依赖注入)的几种方式 7.1 基于构造方法的注入 public class TravellerService {/** the TravellerService has a dependency on a TicketService TravellerService依赖于TicketService*/private final TicketService ticketService;/** a constructor so that the Spring container can inject a TicketService 构造函数以便Spring容器可以注入TicketService*/public TravellerService(TicketService ticketService) {this.ticketService ticketService;} /** business logic that actually uses the injected TicketService is omitted... 省略了实际使用注入的TicketService的业务逻辑*/}beansbean idtravellerService classcn.itbeien.service.TravellerServiceconstructor-arg refticketService/constructor-arg reforderService//beanbean idticketService classcn.itbeien.service.TicketService/bean idorderService classcn.itbeien.service.OrderService/ /beans7.2 基于set方法的注入 public class TravellerService {/** the TravellerService has a dependency on the TicketServiceTravellerService依赖于TicketService*/private TicketService ticketService;/** a setter method so that the Spring container can inject a TicketService 一个setter方法以便Spring容器可以注入TicketService*/public void setTicketService(TicketService ticketService) {this.ticketService ticketService;}/** business logic that actually uses the injected TicketService is omitted... 省略了实际使用注入的TicketService的业务逻辑…*/ }bean idTravellerService classcn.itbeien.service.TravellerService!-- setter injection using the nested ref element 使用嵌套ref元素的Setter注入--property nameticketServiceref beanticketService//property!-- setter injection using the neater ref attribute使用更简洁的ref属性的Setter注入--property nameorderService reforderService/property nameintegerProperty value1/ /bean bean idticketService classcn.itbeien.service.TicketService/ bean idorderService classcn.itbeien.service.OrderService/public class TravellerService {private TicketService ticketService;private OrderService orderService;private int i;public void setTicketService(TicketService ticketService) {this.ticketService ticketService;}public void setOrderService(OrderService orderService) {this.orderService orderService;}public void setIntegerProperty(int i) {this.i i;} }7.3 懒加载Bean 默认情况下Spring容器启动时就会创建被它管理的Bean,但是有的时候被Spring管理的Bean并不需要再容器启动的时候被创建而是当前对象第一次被访问的时候进行创建这种场景就可以使用懒加载实现。 业务场景 代码实现 !-- 剧场使用懒加载-- bean idlazy classcn.itbeien.service.TheaterService lazy-inittrue/ !-- 负责验票的设备闸机不使用懒加载-- bean namenot.lazy classcn.itbeien.service.GateMachineService/8 关注我
http://www.zqtcl.cn/news/42734/

相关文章:

  • 学院网站建设分工打开百度一下的网址
  • 江苏网站建设代理商海南建设监理协会网站
  • 番禺网站制作价格做五金的有哪些外贸网站
  • 甘肃购物网站建设贵阳网站开发公司推荐
  • 网站开发框架排行天津最好的网站建设
  • 源代码做的网站好用么建设银行企业网银缴费
  • 上海做网站哪里有医院网站建设好处
  • 阿里云网站服务器制作网站难还是编程难
  • 婚纱摄影行业网站营销网站建设报价
  • 做网站设计需要哪些知识wordpress主题配置
  • 莱州相亲网站江阴网站制作公司
  • 商城网站建设怎么样网站建设公司介绍
  • dede网站地图样式修改福州公司网站建设
  • 做点击率的网站跨越物流公司官网
  • 网站开发使用云数据库技术教程网站如何获取用户信任
  • 厦门 网站制作网站被黑怎么办
  • 做婚介打么网站好兼职网站项目建设报告(完整版)
  • 太原网站开发定制关于三亚的网页设计
  • 在做网站编代码网页导航条中的文字出现在导航条的下方怎莫解决长业建设集团有限公司网站
  • 内容管理系统做网站中国建设网建筑业信息服务平台
  • 商丘做网站的价格吉首网站建设
  • 设计网页制作策划路程哈尔滨百度seo代理
  • 潍坊网站收录seo公司 彼亿营销
  • 网站建设app开发学习安居客官网入口
  • 新乡手机网站建设外国男男做暧暧视频网站
  • 湛江企业网站建设有哪些做海岛的网站
  • 江苏省张家港保税区建设厅网站wordpress分销平台
  • 域名备案需要网站吗海外推广营销
  • shopnc本地生活o2o网站源码网站怎么建设可以发图评论
  • 腾讯的网站建设用了多少钱wordpress多用户商城系统