当前位置: 首页 > news >正文 拖拽网站怎么做的那个网站推作者 news 2025/10/24 18:24:58 拖拽网站怎么做的,那个网站推作者,有意思网站推荐,wordpress采集淘宝商品Spring 的基本概述 Spring学习的核心内容—一图胜千言 IOC#xff1a;控制反转#xff0c;可以管理 Java 对象AOP#xff1a;切面编程JDBCTemplate#xff1a;是Spring提供一套访问数据库的技术#xff0c;应用性强#xff0c;相对好理解声明式事务#xff1a;基于IOC …Spring 的基本概述 Spring学习的核心内容—一图胜千言 IOC控制反转可以管理 Java 对象AOP切面编程JDBCTemplate是Spring提供一套访问数据库的技术应用性强相对好理解声明式事务基于IOC / AOP实现事务管理 Spring的几个重要概念 1、Spring可以整合其他的框架Spring是管理框架的框架 2、Spring有两个核心的概念IOC和AOP 3、IOCInversion Of Control 控制反转 传统的开发模式JdbcUtils / 反射 程序 — 环境程序读取环境配置然后自己创建对象 1、程序员编写程序在程序中读取到配置信息 2、创建对象new Object() // 反射方式 3、使用对象完成任务 IOC的开发模式 程序 — 容器容器创建好对象程序直接使用 1、Spring 根据配置文件XML / 注解来创建对象并放入到容器ConcurrentHashMap中并且可以完成对象之间的依赖 2、当需要使用某个对象实例的时候就直接从容器中获取即可 3、程序员可以更加关心如果使用对象完成相应的业务以前是new 注解 / 配置方式 4、DI—Dependency Injection 依赖注入是实现IOC的一种方法 5、Spring最大的价值通过配置给程序提供需要使用的web层[ ServletAction / Controller ]/Service/Dao/[ JavaBean/Entity ]对象 这个是核心价值所在也是IOC的具体体现实现解耦 Spring的快速入门 需求说明 通过 Spring 的方式配置文件获取 JavaBeanMonster的对象并给该对象属性赋值输出该对象信息 完成步骤 下载Spring的开发包https://spring.io/projects/spring-framework#learn 代码实现 ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:phttp://www.springframework.org/schema/pxmlns:utilhttp://www.springframework.org/schema/utilxmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/utilhttps://www.springframework.org/schema/util/spring-util.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsd!--1. 配置monster对象2. 在beans中可以配置多个bean3. bean表示就是一个java对象4. class属性是用于指定类的全路径 - Spring底层使用反射创建5. id属性表示该Java对象在Spring容器中的id通过id可以获取到该对象6. property namemonsterId value100/ 用于给该对象的属性赋值--bean classcom.zan.spring.bean.Monster idmonster01!-- bean classcom.zan.spring.bean.Monster--property namemonsterId value100/property namename value牛魔王/property nameskill value芭蕉扇//bean/beanspublic class SpringBeanTest {Testpublic void getMonster() {// 1. 创建容器 ApplicationContext// 2. 该容器和容器配置文件是相关联的 - 读取到的是out文件夹下的beans.xml文件ApplicationContext iocContext new ClassPathXmlApplicationContext(beans.xml);// 3. 通过getBean获取对应的对象传入ID// 默认返回的是Object但是运行类型是Monster // Object monster01 iocContext.getBean(monster01);Monster monster01 (Monster) iocContext.getBean(monster01);// 4. 输出System.out.println(monster01 monster01 运行类型 monster01.getClass());System.out.println(monster01 monster01 获取对应的属性name monster01.getName());// 5. 也可以在获取的时候直接指定Class类型可以再次获取Monster monster011 iocContext.getBean(monster01, Monster.class);System.out.println(monster011 monster011);System.out.println(monster011.name monster011.getName());// 6. 查看容器注入了哪些bean对象获取所有的beanNameString[] beanDefinitionNames iocContext.getBeanDefinitionNames();for (String beanDefinitionName : beanDefinitionNames) {System.out.println(beanDefinitionName);}System.out.println(ok~~~);}// 验证类加载路径Testpublic void classPath() {File file new File(this.getClass().getResource(/).getPath());// 看到类的加载路径System.out.println(file file);// file D:\Code\Java\Learn\Spring\spring-review\out\production\spring-review} }Debug查看Spring容器结构/机制 手动开发 - 简单的Spring基于XML配置的程序 需求说明 自己写一个简单的Spring容器, 通过读取beans.xml获取第1个JavaBean:Monster的 对象并给该的对象属性赋值放入到容器中, 输出该对象信息 也就是不使用 Spring 的原生框架我们自己简单模拟实现 需求分析 代码实现 1、导入 Dom4j.jar 包 2、编写ZanApplicationContext public class ZanApplicationContext {private ConcurrentHashMapString, Object singletonObjects new ConcurrentHashMap();// 构造器// 接受一个容器的配置文件比如 beans.xmlpublic ZanApplicationContext(String iocBeanXmlPath) throws Exception {// 1. 得到类加载路径String path this.getClass().getResource(/).getPath();// 2. 创建SAXReaderSAXReader saxReader new SAXReader();// 3. 获取文档Document对象Document document saxReader.read(new File(path iocBeanXmlPath));// 4. 得到rootDocumentElement rootElement document.getRootElement();// 5. 得到第一个bean对象 monster01Element bean (Element) rootElement.elements(bean).get(0);// 6. 获取到第一个 bean-monster01 的相关属性String id bean.attributeValue(id);String classFullPath bean.attributeValue(class);ListElement property bean.elements(property);// 遍历 // for (Element element : property) { // String value element.attributeValue(value); // System.out.println(value); // }// 这里简便获取Integer monsterId Integer.parseInt(property.get(0).attributeValue(value));String name property.get(1).attributeValue(value);String skill property.get(2).attributeValue(value);// 7. 使用反射创建对象 回顾反射机制Class? aClass Class.forName(classFullPath); // 获取对应的class对象// 这是的o对象就是一个Monster对象Monster o (Monster) aClass.newInstance();// 给o对象赋值// 使用反射赋值 // Method[] declaredMethods aClass.getDeclaredMethods(); // for (Method declaredMethod : declaredMethods) { // Object invoke declaredMethod.invoke(o); // // }o.setMonsterId(monsterId);o.setName(name);o.setSkill(skill);// 8. 将创建好的对象放入到singleObjects中singletonObjects.put(id, o);}public Object getBean(String id) {// 还可以严谨一下return singletonObjects.get(id);} }Test类 public class ZanApplicationContextTest {public static void main(String[] args) throws Exception {ZanApplicationContext zanApplicationContext new ZanApplicationContext(beans.xml);Monster monster01 (Monster) zanApplicationContext.getBean(monster01);System.out.println(monster01);} }Spring原生容器底层结构 补充可以不进行分配ID系统会默认分配ID分配ID的规则为全类名#1全类名#1 … 文章转载自: http://www.morning.pqyms.cn.gov.cn.pqyms.cn http://www.morning.yrkdq.cn.gov.cn.yrkdq.cn http://www.morning.kfwqd.cn.gov.cn.kfwqd.cn http://www.morning.rnsjp.cn.gov.cn.rnsjp.cn http://www.morning.zffn.cn.gov.cn.zffn.cn http://www.morning.ntqgz.cn.gov.cn.ntqgz.cn http://www.morning.zdhnm.cn.gov.cn.zdhnm.cn http://www.morning.dbjyb.cn.gov.cn.dbjyb.cn http://www.morning.pcgmw.cn.gov.cn.pcgmw.cn http://www.morning.prqdr.cn.gov.cn.prqdr.cn http://www.morning.kfmnf.cn.gov.cn.kfmnf.cn http://www.morning.mpscg.cn.gov.cn.mpscg.cn http://www.morning.dzgyr.cn.gov.cn.dzgyr.cn http://www.morning.zmzdx.cn.gov.cn.zmzdx.cn http://www.morning.wphfl.cn.gov.cn.wphfl.cn http://www.morning.rpwm.cn.gov.cn.rpwm.cn http://www.morning.rfhm.cn.gov.cn.rfhm.cn http://www.morning.nmfwm.cn.gov.cn.nmfwm.cn http://www.morning.zlzpz.cn.gov.cn.zlzpz.cn http://www.morning.pdmsj.cn.gov.cn.pdmsj.cn http://www.morning.wfyzs.cn.gov.cn.wfyzs.cn http://www.morning.yfrbn.cn.gov.cn.yfrbn.cn http://www.morning.zwtp.cn.gov.cn.zwtp.cn http://www.morning.cbtn.cn.gov.cn.cbtn.cn http://www.morning.lsjtq.cn.gov.cn.lsjtq.cn http://www.morning.kkwgg.cn.gov.cn.kkwgg.cn http://www.morning.lyzwdt.com.gov.cn.lyzwdt.com http://www.morning.xnpj.cn.gov.cn.xnpj.cn http://www.morning.gkjyg.cn.gov.cn.gkjyg.cn http://www.morning.wdqhg.cn.gov.cn.wdqhg.cn http://www.morning.dbxss.cn.gov.cn.dbxss.cn http://www.morning.rpljf.cn.gov.cn.rpljf.cn http://www.morning.mjzgg.cn.gov.cn.mjzgg.cn http://www.morning.dppfh.cn.gov.cn.dppfh.cn http://www.morning.ympcj.cn.gov.cn.ympcj.cn http://www.morning.nsjpz.cn.gov.cn.nsjpz.cn http://www.morning.brxzt.cn.gov.cn.brxzt.cn http://www.morning.qsswb.cn.gov.cn.qsswb.cn http://www.morning.ldgqh.cn.gov.cn.ldgqh.cn http://www.morning.gfqj.cn.gov.cn.gfqj.cn http://www.morning.mzpd.cn.gov.cn.mzpd.cn http://www.morning.mnyzz.cn.gov.cn.mnyzz.cn http://www.morning.dwwlg.cn.gov.cn.dwwlg.cn http://www.morning.ffbp.cn.gov.cn.ffbp.cn http://www.morning.pzcjq.cn.gov.cn.pzcjq.cn http://www.morning.xtlty.cn.gov.cn.xtlty.cn http://www.morning.aa1585.com.gov.cn.aa1585.com http://www.morning.tzzxs.cn.gov.cn.tzzxs.cn http://www.morning.xjqkh.cn.gov.cn.xjqkh.cn http://www.morning.zdbfl.cn.gov.cn.zdbfl.cn http://www.morning.cjsnj.cn.gov.cn.cjsnj.cn http://www.morning.lbpqk.cn.gov.cn.lbpqk.cn http://www.morning.nfgbf.cn.gov.cn.nfgbf.cn http://www.morning.mstbbs.com.gov.cn.mstbbs.com http://www.morning.chmkt.cn.gov.cn.chmkt.cn http://www.morning.ygrkg.cn.gov.cn.ygrkg.cn http://www.morning.npfrj.cn.gov.cn.npfrj.cn http://www.morning.rksg.cn.gov.cn.rksg.cn http://www.morning.psxfg.cn.gov.cn.psxfg.cn http://www.morning.ncfky.cn.gov.cn.ncfky.cn http://www.morning.jpfpc.cn.gov.cn.jpfpc.cn http://www.morning.ktskc.cn.gov.cn.ktskc.cn http://www.morning.mlffg.cn.gov.cn.mlffg.cn http://www.morning.fwqgy.cn.gov.cn.fwqgy.cn http://www.morning.ngmjn.cn.gov.cn.ngmjn.cn http://www.morning.tgmwy.cn.gov.cn.tgmwy.cn http://www.morning.ykwgl.cn.gov.cn.ykwgl.cn http://www.morning.ynrzf.cn.gov.cn.ynrzf.cn http://www.morning.dbbcq.cn.gov.cn.dbbcq.cn http://www.morning.jrbyz.cn.gov.cn.jrbyz.cn http://www.morning.mkccd.cn.gov.cn.mkccd.cn http://www.morning.kqzt.cn.gov.cn.kqzt.cn http://www.morning.gfqj.cn.gov.cn.gfqj.cn http://www.morning.vjwkb.cn.gov.cn.vjwkb.cn http://www.morning.simpliq.cn.gov.cn.simpliq.cn http://www.morning.mqfhy.cn.gov.cn.mqfhy.cn http://www.morning.lkbkd.cn.gov.cn.lkbkd.cn http://www.morning.jnoegg.com.gov.cn.jnoegg.com http://www.morning.mjgxl.cn.gov.cn.mjgxl.cn http://www.morning.rqnhf.cn.gov.cn.rqnhf.cn 查看全文 http://www.tj-hxxt.cn/news/246029.html 相关文章: 做网站前景怎么样新乡网站建设哪家优惠 户外拓展网站源码宣传片拍摄清单 中国企业500强榜单山东北京网站建设seo优化 北京光辉网站建设建网站制作 濮阳房产网站建设梅州网站优化 上传网站源码大作设计网站官网登录入口 网站的域名和密码是什么意思广告代理发布平台 如何自己做网站界面阜宁做网站需要多少钱 公司注销的网站备案wordpress爱客0.9 宁夏建设监理协会网站网站建设有那些 一个网站要怎么做wordpress aike主题 win7怎么做网站深圳市龙岗网络科技有限公司 大学科技园东区 做网站wordpress主题修改编辑器 石家庄免费网站设计怎么做浏览网站的小程序 沈阳建站模板搭建wordpress删除dux头部标签 高质量的常州网站建设机械网站案例 装潢建筑公司网站设计谷歌平台推广 如何提高网站用户体验软件技术论文题目 网站建设公司做网站是怎么回事 网站建设的目标及服务对象网站外链建设到底该怎么做 织梦网站后台密码忘记了怎么做做网站用虚拟主机好吗 网站建设選平台局域网站开发 东莞网站建设 信科网络网站一年的 运营费用 后缀cc的网站企业展示型网站php 网站建设教程详解国人原创wordpress cms模板:hcms 建设主题网站的顺序是什么意思军事新闻头条 微网站 功能怎么用自己的电脑做网站服务器 网站已备案添加新域名上海企业网上预登记 网站开发的相关技术四川政务网官网入口 大连手机自适应网站制作价格怎样进入国外网站