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

企业网站seo分析邯郸网站建设fkop

企业网站seo分析,邯郸网站建设fkop,展览公司设计费,电子商务网站建设核心是目录 一、前言 二、Spring快速入门 1.简介 : 2. 入门实例 : 三、Spring容器结构分析 1.bean配置信息的存储 : 2.bean对象的存储 : 3.bean-id的快捷访问 : 四、总结 一、前言 开门见山#xff0c;11.25日开始我们正式进入Java框架—Spring的学习#xff0c;此前…目录 一、前言 二、Spring快速入门 1.简介 :  2. 入门实例 :  三、Spring容器结构分析 1.bean配置信息的存储 :  2.bean对象的存储 :  3.bean-id的快捷访问 :  四、总结 一、前言 开门见山11.25日开始我们正式进入Java框架—Spring的学习此前up已经出过Java基础--Java进阶--MySQL--JDBC--JavaWeb的系列文章大佬们可以进入我的主页选择不同专栏进行阅读。对于这个新的系列up准备和此前的JDBC系列一样重点把内容讲清楚说明白以达到博文查漏补缺的本意至于细枝末节概所不录。第一节内容up主要和大家分享一下Spring原生容器结构以及Spring入门案例。关于注意事项还是老规矩——①代码中的注释也很重要②不要眼高手低自己跟着过一遍才有收获③点击文章的侧边栏目录或者文章开头的目录可以进行跳转。良工不示人以朴所有文章都会适时补充完善。大家如果有问题都可以在评论区进行交流或者私信up。感谢阅读 二、Spring快速入门 1.简介 :  (1) 我们平时所说的Java框架Spring通常指的是Spring Framework。Spring本身作为一个框架又可以整合其他的框架即可以认为Spring是管理其他框架的框架。         (2) Spring核心知识点——①IOC(Inversion of Control)控制反转②AOP(Aspect Oriented Programming)面向切面编程③JDBCTemplate④声明式事务         (3) Spring5核心组件如下图所示 :  2. 入门实例 :  需求 : 使用Spring的方式获取JavaBean对象并打印出该对象的信息。                 首先需要向Java项目中导入所需要的jar包除commons-logging.jar外其余都可在Spring的安装目录下的libs子目录中找到。如下图所示 :  接着在src目录下创建beans.xml配置文件创建流程如下图所示 :  若创建文件后出现提示“Application context not configured for this file”根据IDEA给出的提示操作即可。                 接着up在com.cyan.spring.bean包下新创建一个JavaBean类以Student类为例Student类代码如下 :  package com.cyan.spring.bean;/*** author : Cyan_RA9* version : 21.0*/ public class Student {private String name;private int age;private int score;public Student() {}public Student(String name, int age, int score) {this.name name;this.age age;this.score score;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}public int getScore() {return score;}public void setScore(int score) {this.score score;}Overridepublic String toString() {return Student{ name name \ , age age , score score };} }beans.xml代码如下 : (注意注释内容) ?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!--(1) 在根元素beans中通过bean/bean子元素来配置JavaBean对象。每配置一个bean相当于配置了一个Java对象。(2) bean子元素需要配置两个属性———class 和 id。其中class表示所要实例化类的正名(全类名);id表示该对象在Spring容器中的标识通过id可以获取到对象。(3) property子元素用于配置该对象的成员变量(对象的属性)其中name表示属性名称value表示属性的值。(4) XML内容回顾———若一个标签没有标签体以age/age为例可以简写为age/。--bean classcom.cyan.spring.bean.Student idstu01property namename valueCyan/propertyproperty nameage value21/propertyproperty namescore value450/property/beanbean classcom.cyan.spring.bean.Student idstu02property namename valueRain/propertyproperty nameage value19/propertyproperty namescore value443/property/bean!--PS : 若配置bean时未给出id属性IDEA不会报错系统会分配默认的id。默认id的规则是 : 全类名#0, 全类名#1, 全类名#2......-- /beans 在test包下另定义一个测试类用于获取到配置好的Student对象并打印出该对象的信息。                    StudentBeanTest类代码如下 :  package com.cyan.spring.test;import com.cyan.spring.bean.Student; import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;/*** author : Cyan_RA9* version : 21.0*/ public class StudentBeanTest {Testpublic void getStudent() {//(1) 创建容器ApplicationContext该容器与beans.xml配置文件关联//接口多态ApplicationContext applicationContext new ClassPathXmlApplicationContext(beans.xml);//(2) 通过getBean方法获取到容器中配置好的对象//Object stu01 applicationContext.getBean(stu01);//向下转型Student stu01 (Student) applicationContext.getBean(stu01);//向下转型后即可使用子类特有的方法String name stu01.getName();int age stu01.getAge();int score stu01.getScore();//亦可通过getBean的重载方法直接返回JavaBean对应的类型。Student stu02 applicationContext.getBean(stu02, Student.class);//(3) 打印对象信息System.out.println(stu01 stu01);System.out.println(stu01s name name);System.out.println(stu01s age age);System.out.println(stu01s score score);System.out.println(String.format(stu02: name %s,age %d,score %d,stu02.getName(),stu02.getAge(),stu02.getScore()));} }运行结果 :  三、Spring容器结构分析 1.bean配置信息的存储 :  注意刚才的案例中有这么一行代码 //(1) 创建容器ApplicationContext该容器与beans.xml配置文件关联//接口多态ApplicationContext applicationContext new ClassPathXmlApplicationContext(beans.xml); 在Debug界面中可以看到applicationContext对象的结构beanFactory是该容器对象的一个非常重要的属性如下图所示 :  在beanFactory属性下可以找到它维护的beanDefinitionMap是CurrentHashMap类型。如下所示 :  此处的Node是CurrentHashMap的一个静态内部类, 它与我们之前接触过的HashMap$Node类型以及Hashtable$Entry类型一样都实现了Map接口内部的Entry接口如下图所示 :  我们可以在table数组中找到beans.xml文件中配置的对象的信息如下图所示 :  可以看到key就是我们为每一个bean元素配置的id属性而在val中首先我们可以看到保存的类的全类名如下所示 :  此处的beanClass即保存了当前bean对应的class属性即配置的类的正名全类名。                 此外我们还能在val中找到一个propertyValues属性该属性保存了当前bean中的所有property子元素的值如下所示 :  可以看到居然出现了我们熟悉的ArrayList和elementData[]数组中的每一个元素都对应一个bean的property属性即对象的属性如下图所示 : (eg : name Cyan) 2.bean对象的存储 :  在beanFactory属性下除了方才的beanDefinitionMap我们还可以找到一个重要的属性singletonObjects如下图所示 :  可以看到singletonObjects属性同方才的beanDefinitionMap属性一样也是ConcurrentHashMap类型并且它们都维护了一个ConcurrentHashMap$Node类型的数组table我们仍然可以在table数组中找到配置的两个Student类对象只不过它们这次是真的以对象形式来保存了(单例)如下图所示 3.bean-id的快捷访问 :  仍然是在beanFactory属性下除了方才的beanDefinitionMap和singletonObjects属性外我们还要注意到beanDefinitionNames属性如下图所示 :  这是Spring的设计者为了开发人员能够快捷地访问到Spring容器中保存的对象的id专门把id保存在了该属性中可以看到它直接就用ArrayList来存储了。于是我们可以在elementData数组中发现之前在beans.xml中配置的两个bean的id如下图所示 :  我们可以通过applicationContext对象的getBeanDefinitionNames()方法来快速获取到当前Spring容器中所有的id。                 代码演示如下 : 仍然在StudentBeanTest类中新定义一个方法通过引入JUnit框架进行单元测试 Testpublic void testGetStudentsID() {//不要忘记传入要关联的beans.xml配置文件ApplicationContext applicationContext new ClassPathXmlApplicationContext(beans.xml);String[] beanDefinitionNames applicationContext.getBeanDefinitionNames();for (String beanDefinitionName : beanDefinitionNames) {System.out.println(id beanDefinitionName);}} 运行结果 :  四、总结 以上就是Spring系列第一小节的全部内容了。                 最后我们可以用一张图总结一下Spring原生容器结构如下图所示 :  System.out.println(END----------------------------------------------);
http://www.dnsts.com.cn/news/83707.html

相关文章:

  • 免费wap网站推荐做网站的没有进项票怎么办
  • 在国外做盗版网站吗网站建设与实训
  • 云服务器开网站医院网站php源码
  • 网站开发 设计文档有wordpress模板安装教程视频教程
  • 一个虚拟主机多个网站神华集团两学一做网站
  • 外包做网站不满意机关网站建设 方案
  • 网站做优化按点击收费科凡全屋定制
  • 网站建设-部署与发布平谷网站建设
  • 静安网站建设北京哪家公司做网站好
  • 国外做二手服装网站有哪些贵阳百度seo点击软件
  • 小企业做网站有没有用怎么写网站文案
  • 做起点说网站的服务器多少钱做外贸自己公司的网站一定要吗
  • 做网站代码编辑工具网站后台编辑框不显示
  • 找工作哪个网站好智联招聘公司网站程序
  • 元氏县城有做网站广告的吗深圳模板网站建设公司
  • 河南工程招标网站站点建设网站
  • 企业网站如何优化排名做跨境电商开店流程
  • 什么网站都能打开的浏览器有了云服务器怎么做网站
  • 珠海市香洲区建设局网站wordpress副标题代码
  • wordpress设置邮件注册搜索引擎优化培训班
  • 做跳转链接到自己的网站企业网站的优化和推广方法
  • flash怎么做电子书下载网站jquery 显示wordpress
  • 石家庄做网站的口碑好网络销售平台推广
  • 修改网站照片需要怎么做建筑做网站
  • 现在做网站还有出路吗西安网站优化效果
  • 许昌网站制作主要对布局进行
  • 一级a做爰片付费网站网站开发技术文档格式
  • 网站服务器租用一般费用四种营销策略
  • 网站制作网站制作公司代运营公司排名前十
  • 去河南省住房和城乡建设厅网站查wordpress如何在首页不显示某类分类目录下的文章?