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

py和php做网站哪个好/八大营销方式有哪几种

py和php做网站哪个好,八大营销方式有哪几种,北京企业网站设计制作,上海网站建设系统一,前言 本篇,原定要写 IOC 容器接口继承体系,已经写好了几天,只还是没发出来; 还是觉得应该先写一个 IOC 容器的简单 Demo,介绍一下使用; 顺便也为不熟悉 Spring 框架的朋友们降低一下学习门槛…

一,前言

本篇,原定要写 IOC 容器接口继承体系,已经写好了几天,只还是没发出来; 还是觉得应该先写一个 IOC 容器的简单 Demo,介绍一下使用; 顺便也为不熟悉 Spring 框架的朋友们降低一下学习门槛;

对于 Spring 框架的学习,不仅是了解框架内部实现,有助于日常开发; 更多的还是学习框架的设计思想以及优秀代码是如何架构、分层和实现的; Spring 框架中使用的设计模式堪称最佳实践,是非常具有学习价值的;

本篇,对于已经熟悉 Spring 框架的朋友,几乎是一篇废话。。。


二,IOC 容器的源码环境

之前说了 Spring 框架源码环境的搭建,Spring 框架提供了根据应用场景的剪裁和选择;

研究 IOC 容器部分,可以只使用 Spring 框架的 IOC容器部分即可,即源码中的 spring-beans 模块;

IOC 容器依赖模块:

IOC 容器功能的实现主要在 org.Springframework.beans.jar 中,即 spring-beans 模块;
而 spring-beans 依赖于 spring-core 模块;
IOC 容器部分,只需要依赖 spring-beans 和 spring-beans 即可;
复制代码

创建 IOC 容器工程:

创建 java 工程 IocContainer,使其依赖 spring-beans 和 spring-beans 两个模块;
复制代码

项目结构:

java工程IocContainer

项目模块依赖关系:

IOC项目依赖关系


三,测试 IOC 容器

为了测试 IOC 容器,我们写一个最简单的 Demo,项目结构如下:

IOC容器项目目录

1.Bean:MyTestBean.java

Spring 的目的就是让 bean 能够成为一个纯粹的POJO(Plain Ordinary Java Object 简单的Java对象)
复制代码
package com.brave.spring.beans;public class MyTestBean {private String testStr = "testStr";public String getTestStr() {return testStr;}public void setTestStr(String testStr) {this.testStr = testStr;}
}
复制代码

2.配置文件:beanFactoryTest.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">        <!-- 声明一个bean(com.brave.spring.beans.MyTestBean),id属性为MyTestBean --><bean id="MyTestBean" class="com.brave.spring.beans.MyTestBean"/>
</beans>
复制代码
  • 以上虽然是一个最简单的 bean 声明方式,但能够满足大多数应用的需要;
  • Spring 配置中的 bean 元素还提供了 N 多种属性,可以适配各种应用场景,后续会逐个讲解;

3.测试类:BeanFactoryTest.java

package com.brave.spring.beans;import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.core.io.ClassPathResource;public class BeanFactoryTest {public static void main(String[] args) {XmlBeanFactory xmlBeanFactory = new XmlBeanFactory(new ClassPathResource("beanFactoryTest.xml"));MyTestBean bean = (MyTestBean)xmlBeanFactory.getBean("MyTestBean");String testStr = bean.getTestStr();System.out.print("testStr = " + testStr);}
}
复制代码
从命名可以看出,这是一个对 bean 工厂的测试,主要逻辑如下:1,读取配置文件beanFactoryTest.xml
2,根据beanFactoryTest.xml中的配置(id)在Bean工厂中找到对应类的配置,并实例化
3,调用实例备注:关于 Demo 中 xmlBeanFactory 的详细实现,也是我们日后要说的重点;
复制代码

四,IOC容器的一些概念

以上,创建了一个只拥有 IOC 容器功能的 Spring 工程
虽然实现了 Spring-IOC 容器下,通过配置文件创建和使用bean,
但概念上还需要再细说一下,对于日后学习源码会有帮助
复制代码

理解"容器"

说到容器,应该能想到水壶、水杯、水桶之类,都是装水的容器;
而 IOC 容器,即 Bean 容器(BeanFactory),就是装 bean 的容器;所以,可以将 Bean 容器想象成一个水桶,而其中的 bean 就是水桶中的水;
bean 容器中装载的无数 Bean,就相当于水桶中的无数水滴;
复制代码

Spring 中的容器

尽管水桶有大小和材质上的区别,但统称为水桶;
对于水桶的定义:能装水的桶就叫水桶,所以重点还是在于能装水;
站在面向对象的角度,"水桶"就应该实现"能装水"的接口;Spring 中也为我们提供了多种 BeanFactory 的实现,
Spring 中如何定义 BeanFactory?必须要实现 BeanFactory 接口
BeanFactory 接口定义了 Bean 容器的基本功能
如:Demo 中的 xmlBeanFactory,在实现了 BeanFactory 接口的基础上,增加了通过 XML 文件获取资源定位的能力;后续讲解容器接口体系时,会主要讲解两类 BeanFactory:
- 一类是基于 BeanFactory 实现的容器,这一类容器称为"基本容器";
- 另一类是基于 ApplicationContext 实现的容器,这一类容器称为"高级容器";
复制代码

bean 如何放入容器

Spring 提供了多种定义 bean 的方式,如:xml方式、注解方式等;
对于容器(水桶)而言,不管以何种方式定义 bean,最终在容器中都是以同一种对象(水)存在;Spring 通过 BeanDefinition 抽象了对Bean的定义,BeanDefinition 也是容器的主要数据类型;
BeanDefinition 即为 Bean 容器中的"水"Spring 用过各种资源加载器,获取定义 Bean 的资源定位,将其转换为BeanDefinition,放入 BeanFactory;
复制代码

五,结尾

本篇暂时先写到这里,虽然没有什么营养,但也为日后学习做了铺垫;
这个 Demo 依赖了 spring-bean 和 spring-core 的源码;
也是日后学习这部分源码的重要工程关于容器理解的部分日后会继续补充的完善



链接:https://juejin.cn/post/7031192845687980039
 

http://www.lbrq.cn/news/1080109.html

相关文章:

  • 乐清高端网站建设/外贸营销型网站制作
  • wordpress 糗百/seo优化分析
  • 网页设计和网站开发/网站seo方案模板
  • 百度一直不收录网站/wifi优化大师下载
  • 武汉推广系统/四川旅游seo整站优化站优化
  • 做简单的html网站/郑州网站推广哪家专业
  • 怎么让自己做的网站让别人看到/什么是搜索推广
  • 个人域名可以做KTV网站吗/做直销去哪里找客户
  • 济宁建设局网站招聘会/如何购买域名
  • 磁贴式网站模板/seo是什么岗位
  • 微信端网站开发流程/百度seo点击器
  • 网站开发 培训/经典软文推广案例
  • 吉安哪家做网站的公司好/seo岗位有哪些
  • 手机app网站建设/seo外链软件
  • 局域网即时通讯软件排名/亚马逊seo推广
  • 广州做响应式网站多少钱/今日新闻最新消息大事
  • 杭州网站建设公司联系方式/pc网站优化排名软件
  • 网站策划书是什么/网站seo运营
  • 深圳个人网站设计/网站推广哪个好
  • 微信网站前景/培训网站源码
  • 普升高端品牌网站建设/百度认证有什么用
  • 论坛类网站搭建/手机清理优化软件排名
  • 免费建靓号网站/百度竞价广告怎么投放
  • 日照网站建设seo优化/免费的网页设计成品下载
  • 县门户网站建设方案/滁州网站seo
  • 想做个网站报价蔬菜价格怎么做/魔方优化大师官网
  • 可不可以自己做网站/免费域名注册网站
  • 会展相关网站建设情况/国内手机搜索引擎十大排行
  • 做视频网站需要多少钱/互动营销的案例有哪些
  • 网站开发要求描述/seo排名优化方式
  • 《Java 程序设计》核心知识点梳理与深入探究
  • Trust Management System (TMS)
  • 微波(Microwave)与毫米波(Millimeter wave)简介
  • GitPython08-源码解读
  • DeepCompare文件深度对比软件:专业级文件对比操作全解析
  • C#反射的概念与实战