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

自建站系统网站搭建服务器

自建站系统,网站搭建服务器,wordpress 更改鼠标样式,有哪些vue做的网站目录 SpringIoc创建与使用的大致步骤 一.基于xml配置SpringIoc 二.基于xml配置DI 三.创建IoC容器并获取组件 SpringIoc创建与使用的大致步骤 SpringIoC的创建与使用过程分为3步 1.编写配置信息#xff08;编写XML#xff0c;注解、Java类#xff09; 2.创建IoC容器编写XML注解、Java类 2.创建IoC容器实例化Ioc对象 3.从Java代码中获取组件并使用 一.基于xml配置SpringIoc 实现过程思路 1.配置SpringIoc的jar包依赖 !-- SpringIoc核心jar包 包含core ioc breans 等 --dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion5.0.2.RELEASE/version/dependency!-- junit5测试 --dependencygroupIdorg.junit.jupiter/groupIdartifactIdjunit-jupiter-api/artifactIdversion5.3.1/version !-- 使用属性引用JUnit Jupiter版本 --scopetest/scope/dependency 2.编写xml配置文件配置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/beans 由于SpringIoc是存放组件的容器而组件内容是可重复使用的对象。在xml中bean标签就是代表着组件 3.三种创建组件的方式 不同的创建组件的方式对应的xml配置也不同。下面介绍三种创建组件的方式无参构造方式创建组件静态工厂创建、非静态工厂创建 1.无参构造方式创建组件 当通过构造函数方法创建一个bean(组件对象) 时所有普通类都可以由 Spring 使用并与之兼容。也就是说正在开发的类不需要实现任何特定的接口或以特定的方式进行编码。只需指定 Bean 类信息就足够了。但是默认情况下我们需要一个默认 (空)构造函数。 无参构造对象代码案例 package com.alphamilk.Ioc; //无参构造类 public class wucanTemp {public void doWork(){System.out.println(调用无参构造方法doWork函数);} }对应的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!-- 无参构造方式配置bean 一个组件信息 一个组件对象id组件的唯一标识不可重复class组件通过反射创建所以需要类的权限定符配置完一个组件相当于new了一个wucanTemp对象 -- bean idwucanTemp classcom.alphamilk.Ioc.wucanTemp/ /beans 2.静态工厂创建组件 静态工厂代码 package com.alphamilk.Ioc;//静态工厂代码 public class HelloTemp {private HelloTemp(){}public static HelloTemp getHelloTemp(){HelloTemp temp new HelloTemp();return temp;} }对应XML配置 !-- 静态工厂的组件配置bean 一个组件信息一个组件对象 一个工厂静态方法id组件的唯一标识class类的权限定符factory-method工厂的静态方法 --bean idhelloTemp classcom.alphamilk.Ioc.HelloTemp factory-methodgetHelloTemp/ 3.非静态工厂创建组件 package com.alphamilk.Ioc;//非静态工厂 public class FactoryNoStatic {private static FactoryNoStatic factoryNoStatic new FactoryNoStatic();public FactoryNoStatic getInstance(){return factoryNoStatic;} }对应的XML配置 !-- 3非静态工厂配置组件-- !-- 3.1配置工厂类的组件信息--bean idfactoryNoStatic classcom.alphamilk.Ioc.FactoryNoStatic/!-- 3.2通过指定非静态工厂对象和方法名来配置生成的ioc信息--bean idfactoryNoStatic2 factory-beanfactoryNoStatic factory-methodgetInstance/ 二.基于xml配置DI DI依赖注入有两种实现方式 第一种通过构造函数实现另一种是通过setter实现两种不同的方式实现对应的xml配置也有所不同。下边分别介绍每种的配置。 1.基于构造函数实现对象 基于构造函数的 DI 是通过容器调用具有多个参数的构造函数来完成的每个参数表示一个依赖项下面的示例演示一个只能通过构造函数注入进行依赖项注入的类! 基于单参构造方法 类对象案例 package com.alphamilk.loc2;public class UserDao { }public class UserService {private UserDao userDao new UserDao();private String name;private int age;// 单参构造方法UserService(UserDao userDao){this.userDao userDao;} // 多参构造方法UserService(String name,int age,UserDao userDao){this.namename;this.age age;this.userDao userDao;} }单参构造方法下DI依赖注入的配置 ?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将对象都存放在IOc容器中-- bean iduserDao classcom.alphamilk.loc2.UserDao/!-- 构造参数传递di的配置constructor-org 构造参数传值的di配置value直接属性值ref 引用其它的bean组件传入bean的id值 --bean idservice classcom.alphamilk.loc2.UserServiceconstructor-arg refuserDao//bean /beans 多参情况下DI依赖注入对应xml配置 !-- 基于多参构造方法-- !-- 步骤1将对象存放在Ioc容器中--bean iduserDao classcom.alphamilk.loc2.UserDao/bean idservice classcom.alphamilk.loc2.UserService !-- 方案1通过使用name对应参数配置【推荐】--constructor-arg nameage value29/constructor-arg namename value黄小龙/constructor-arg nameuserDao refuserDao//beanbean iduserDao classcom.alphamilk.loc2.UserDao/bean idservice classcom.alphamilk.loc2.UserService !-- 方案2通过顺序的方式传递参数--constructor-arg value黄小龙/constructor-arg value29/constructor-arg refuserDao//beanbean iduserDao classcom.alphamilk.loc2.UserDao/bean idservice classcom.alphamilk.loc2.UserService!-- 方案3通过下角标位置的方式传递参数--constructor-arg index0 value黄小龙/constructor-arg index1 value29/constructor-arg index2 refuserDao//bean 2.基于setter函数实现对象 基于构造函数的 DI 是通过容器调用具有多个参数的构造函数来完成的每个参数表示一个依赖项 下面的示例演示通过构造函数注入多个参数参数包含其他 bean和基本数据类型! 类对象案例 package com.alphamilk.loc3;public class UserDao { }//setter方式注入 public class UserService {private UserDao userDao new UserDao();private String name;private int age;public void setUserDao(UserDao userDao) {this.userDao userDao;}public void setName(String name) {this.name name;}public void setAge(int age) {this.age age;} }对应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 !--触发 setter方法进行注入--bean iduserDao classcom.alphamilk.loc3.UserDao/ !-- name-》属性名 setter方法的 去掉set并且首字母小写的值 调用set方法名比如setName -》namevalue | ref 进行二选一 value直接属性值 ref 其他bean的id --bean idservice classcom.alphamilk.loc3.UserServiceproperty nameage value52/property namename value张三/property nameuserDao refuserDao//bean /beans 三.创建IoC容器并获取组件 1.创建Ioc容器对象 首先类对象 package com.alphamilk.loc4;public class HelloTemp {public void doWork(){System.out.println(HelloTemp is Working);} }然后进行xml文件配置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.xsdbean idhelloTemp classcom.alphamilk.loc4.HelloTemp/ /beans 两种实现创建IoC容器对象 package com.alphamilk.Ioc;import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test { // 创建SpringIoc容器方法 /*两个接口BeanFactoryApplicationContext四个实现类ClassPathXmlApplicationContext 读取类路径下的xml配置方式WebApplicationContext读取指定文件的xml配置方式FileSystemXmlApplicationContext读取配置类方式的ioc容器AnnotationApplicationContext web项目专属的配置ioc容器*/org.junit.jupiter.api.Testpublic void createIoc(){ // 方式一通过直接创建容器并且指定配置文件即可ApplicationContext applicationContext new ClassPathXmlApplicationContext(Springioc.xml);// 方式二通过先创建ioc容器对象再指定配置文件再刷新ClassPathXmlApplicationContext applicationContext1 new ClassPathXmlApplicationContext();applicationContext1.setConfigLocations(Springioc.xml);applicationContext1.refresh();} }2.通过创建的容器获取组件 获取组件步骤1.创建ioc容器 2.获取组件 三种获取组件方式 第一种获取bean的方式,通过获取getBean加上bean的id返回Object类型,再将其转为对应的类型。第二种获取bean的方式通过获取bean的同时指定其返回的类型。第三种获取bean方式根据类型获取。 package com.alphamilk.Ioc;import com.alphamilk.loc4.HelloTemp; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext;public class Test {org.junit.jupiter.api.Testpublic void useBean(){// 第一种获取bean的方式,通过获取getBean加上bean的id返回Object类型,再将其转为对应的类型 // 创建Ioc容器ApplicationContext context new ClassPathXmlApplicationContext(springioc.xml); // 获取组件HelloTemp helloTemp (HelloTemp) context.getBean(helloTemp);// 第二种获取bean的方式通过获取bean的同时指定其返回的类型 // TODO注意可能会出现向下转型异常 // 创建Ioc容器ClassPathXmlApplicationContext applicationContext new ClassPathXmlApplicationContext();applicationContext.setConfigLocation(springioc.xml);applicationContext.refresh(); // 获取组件applicationContext.getBean(helloTemp,HelloTemp.class);// 第三种获取bean方式根据类型获取 // 创建Ioc容器ClassPathXmlApplicationContext classPathXmlApplicationContext2 new ClassPathXmlApplicationContext();classPathXmlApplicationContext2.setConfigLocation(springioc.xml);classPathXmlApplicationContext2.refresh(); // 获取组件 // TODO:注意这种方法有许多条件 // 根据bean类型获取,一次只能有一种类型,举例在ioc容器中如果有多个HelloTemp对象,继续使用这种方法会报错classPathXmlApplicationContext2.getBean(HelloTemp.class);// 注意虽然是三种不同的获取方式,但是获取到的对象都是同一个,三种方法只是对应三种类型的指针指向Ioc容器中存放的组件helloTemp.doWork();} }基于注解配置 SpringIoC基于注解配置_Alphamilk的博客-CSDN博客
http://www.hkea.cn/news/14512637/

相关文章:

  • 公司部门网站设计模板wordpress爱视频
  • 跟建设通差不多额网站谷歌推广怎么样
  • 深圳网站搭建哪里好台州关键词优化服务
  • 建设银行网站logo推广比较好的网站
  • 手工做的网站厦门十大装修公司排名榜
  • 微网站建设收费wordpress电视主题
  • 网站是做推广好还是优化好ps网站首页设计图
  • 一个网站怎么做软件中关村在线摄影论坛
  • 长沙网站开发微联讯点官网seo网站收录工具
  • 建站行业解决方案百度搜索推广
  • 免费建设淘客网站有域名在本机上做网站
  • 网站建设简介萍乡海绵城市建设官方网站
  • 网站的推广等内容找外包公司做网站给源码吗
  • 上饶专业企业网站建设如何做公司网站建设
  • 深圳网站建设外包公司排名怎么做购物平台网站
  • 河北住房和城乡建设网站中山seo排名优化
  • 网站点击快速排名随县网站建设
  • 贵阳花果园网站建设绍兴网络公司网站建设
  • 鞋子的网站策划方案模板图片站 wordpress
  • 珠宝网站模板免费下载电子商务网站建设的目标
  • 深圳哪家公司需要网站建设的做搞笑app好还是做电影网站好
  • 传媒公司网站建设本溪网站开发公司
  • seo外贸仿牌网站换域名提供有经验的网站建设
  • 全屋定制怎么样做网站免费企业建站cms
  • 做教学的视频网站有哪些设计彩票网站开发
  • wordpress 静态化优化图片大小的网站
  • 上海网站建设优wordpress底部导航栏
  • 如何帮人做网站什么做直播网站好
  • 网站建设基本完成免费的个人主页网页制作网站
  • 网站自适应是什么做的seo工具箱