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

网站开发项目经验福州网络推广运营

网站开发项目经验,福州网络推广运营,戒赌网站怎么做,网络运营的培训#x1f609;#x1f609; 学习交流群#xff1a; ✅✅1#xff1a;这是孙哥suns给大家的福利#xff01; ✨✨2#xff1a;我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 #x1f96d;#x1f96d;3#xff1a;QQ群#xff1a;583783… 学习交流群 ✅✅1这是孙哥suns给大家的福利 ✨✨2我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 3QQ群583783824     工作微信BigTreeJava 拉你进微信群免费领取 4本文章内容出自上述Spring应用课程 5以上内容进群免费领取呦~ 文章目录 一Spring中的注入 1什么是注入 2为什么注入 3如何注入 4注入好处 5Spring注入的过程 ​编辑二Set注入详解 1JDK内置类型 2用户自定义类型 (一)第一种方式 (二)第二种方式 3Set注入简化写法 (一)基于属性的简化 (二)基于p空间简化属性 三构造注入 1开发步骤 2构造方法的重载 3注入的总结 四反转控制和依赖注入 1什么叫做控制反转 2什么是依赖注入 一Spring中的注入 1什么是注入 注入就是通过Spring的工厂类和spring的配置文件对Spring所创建的对象进行赋值为成员变量进行赋值 2为什么注入 为什么需要Spring工厂创建对象的时候给对象进行赋值呢         1通过配置文件进行注入也可以实现解耦合的这样的作用直接写死在代码当中会引发耦合效应         2通过编码的方式为成员边量进行赋值会出现耦合注入的方式会避免这样的耦合的作用 3如何注入 bean id person class com.pactera.spring.Person!--property标签是复制标签name属性是对应bean类中的属性。--property name idvalue10/value/propertyproperty name namevaluexjr/value/property/bean 这是注入的一种示例为成员变量提供set和get方法这是注入的第一步 4注入好处 使用Spring的依赖注入的好处就是可以基于Spring的配置文件来做对象的成员变量赋值工作这样不需要在Java代码中显示的给对象成员变量赋值起到了解耦合的作用 5Spring注入的过程 Spring获取到配置文件路径之后调用demo4j这个第三方组件来对xml配置文件进行解析根据解析的内容创建对应的对象。对象创建之后根据property标签中的配置的属性的值根据对象的set和get方法进行赋值操作。 Spring会通过底层属性对应的set方法进行赋值才完成对应的赋值操作这种方式我们也称为set注入 二Set注入详解 针对于不同类型的成员变量在标签中进行注入的方式也不一样不过都得嵌套到property标签当中。 JDK内置类型JDK自定义的数据类型或者叫引用类型。 用户自定义类型用户自定义的类型 1JDK内置类型 1、string8中基本类型。property name idvalue10/value/propertyproperty name namevaluexjr/value/property2、数组property nameemails!--这个是为了定义数组--listvaluesunspactera.com/valuevaluecuileipactera.com/valuevaluekaixinpactera.com/value/list/property3、set集合set!--在这里能用value标签是因为在SetString属于八中基本类型和String的范畴。--value138111111111/value!--ref这个标签是给自定义类的注入进行使用的。--ref bean/!--set集合当中还可以套用set集合--set/set/set4、list集合property nameaddresslist !--这是list集合的写法list集合是有序的list集合是可以重复的。--valuezpark/valuevalueshangdi/valuevaluexierqi/valueset/setref/reflist/list/list/property5、map集合赋值方式property nameqqs!--这里是map的写法。--mapentrykeyvaluesuns/value/keyvalue43222222222222/value/entryentrykeyvaluexiexei/value/keyvalue43222222222222/value/entry !--                entry当key或者value是对象的时候keyvaluezhang/value/keyref bean43222222222222/refkeyref beanzhang/ref/keyref bean43222222222222/ref/entry--/map/property properties类型的赋值中更加复杂的JDK类型比如说date类型需要使用自定义类型转换器进行这是在工厂的高级部分进行讲解。 2用户自定义类型 (一)第一种方式 1第一步还是为成员变量提供get和set方法         2第二步在配置文件中进行注入 补充说明         1通过这样一种编译时耦合与接口配置文件中定义注入类型的这样的形式最大程度上降低了代码的耦合型         2这种写法代码冗余而且会重复创建某个对象。写一个bean标签就会创建一个对象而且注入的这个对象不可能被复用只能在这个对象中被引用被注入的对象多次创建就会浪费虚拟机内存的资源 以下是代码示例 /** Description:给自定义引用类型赋值。* Author: DaShu* Date: 2021/5/28 16:02* result:说明配置文件当中这样写可以实现自定义类型的注入。*///bean iduserService class com.pactera.spring.UserServiceImpl//    property nameuserDao//        !--这个dao对象只使用一次并且不会被其他对象使用。--//        bean class com.pactera.spring.UserDaoImpl///    /property///bean//bean iduserService class com.pactera.spring.UserServiceImpl//    property nameuserDao//        ref beanuserDao///    /property///bean//bean iduserDao classcom.pactera.spring.UserDaoImpl/bean//ref local 这个标签从spring4就已经废除了这个只能引用本配置文件中的beanTestpublic void test11() throws Exception {ApplicationContext ctx new ClassPathXmlApplicationContext(/applicationContext.xml);UserService userService (UserService)ctx.getBean(userService);Class clazz userService.getClass();Field userDao clazz.getDeclaredField(userDao);userDao.setAccessible(true);//Object o userDao.get(userService);//System.out.println(o.getClass().getTypeName());//com.pactera.spring.UserDaoImplSystem.out.println(userDao.getGenericType());System.out.println(userDao.getName());System.out.println(userDao.get(userService).getClass().hashCode() UserDaoImpl.class.hashCode());//true} bean iduserService class com.pactera.spring.UserServiceImplproperty nameuserDao!--这个dao对象只使用一次并且不会被其他对象使用。--bean class com.pactera.spring.UserDaoImpl//property/bean (二)第二种方式 3Set注入简化写法 (一)基于属性的简化 执行test方法的快捷键是 ctrlshiftf10 这是jdk类型的注入的形式。 property name namevalue suns /property  该类型的简化写法 property name name value suns/ 用value属性代替value标签。 注意通过value属性只能简化八中基本类型和String类型。用户自定义类型 property name userDaoref bean userDao /property  property name userDao ref userDao/ 注意这种方式只能替换ref属性的形式。 (二)基于p空间简化属性 适用于jdk的类型的简化 altenter可以导入这个命名空间P的配置在这个配置当中有了这个命名空间之后Property标签就没用了 三构造注入 注入通过Spring的配置文件为成员变量赋值         Set注入Spring通过Set方法通过配置文件为成员变量赋值         构造赋值Spring通过构造方法通过配置文件为成员变量赋值 1开发步骤 提供有参构造方法、提供spring的配置文件进行配置 bean id customer classcom.pactera.spring.constructor.Customer!--一个这样的标签对应一个这样的参数。并且顺序还是对应的。--constructor-arg index0valuesuns/value/constructor-argconstructor-arg index1value102/value/constructor-arg/bean /** Description:用于测试构造工厂* Author: DaShu* Date: 2021/5/31 11:21*/Testpublic void test13(){ApplicationContext ctx new ClassPathXmlApplicationContext(/applicationContext.xml);Customer customer (Customer) ctx.getBean(customer);System.out.println(customer.toString());//Customer{namesuns, age102}} 2构造方法的重载 参数的个数不同时通过constructor-arg标签的个数进行区分         参数相同时通过在这个标签中引入type标签就可以解决 3注入的总结 Set注入 vs  构造注入未来这两种我们到底是使用什么注入         1未来实战使用set注入会更多构造注入会更多有重载更麻烦         2Spring底层他自己的一些对象的配置也是使用大量的set的注入构造注入用的比较少。 四反转控制和依赖注入 1什么叫做控制反转 控制控制值得是对于对象创建、程序变量赋值的控制权控制和注入的关系不是并列的关系控制翻转依赖注入的注入是控制翻转中的一个环节例如直接在代码中完成对于成员边量的赋值这提高了代码的耦合这样的控制权是在代码中的提高了耦合性将成员变量的赋值权交给Spring工厂和他的配置文件这样就通过注入的方式控制权是在Spring上边解开了耦合性。 控制反转也就是说对于对象的创建、对象的成员变量的赋值的权利翻转到spring的工厂和配置文件当中可以起到解耦合的作用控制反转的好处解耦合的作用。 底层实现工厂设计模式反射配置文件 代码编写中最好的降低耦合性的方式         反射配置文件耦合月接口可以把代码的耦合性降低早最低。 2什么是依赖注入 通过Spring的工厂和配置文件为对象的成员变量赋值依赖我需要你的时候你就是我的依赖比如说Service层中的Dao层的对象就可以说Service层依赖dao层。Dao层是Service层的依赖。我依赖谁就可以把他作为成员变量通过spring的配置文件创建他的对象给我注入。好处解耦合通过提供setget方法最终通过Spring的配置文件完成对象的创建和注入 学习交流群 ✅✅1这是孙哥suns给大家的福利 ✨✨2我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 3QQ群583783824     工作微信BigTreeJava 拉你进微信群免费领取 4本文章内容出自上述Spring应用课程 5以上内容进群免费领取呦~
http://www.hkea.cn/news/14440191/

相关文章:

  • 创意网站布局wordpress 4.8 pdf缩略图
  • 营销型网站设计房地产网站集约化建设工作打算
  • 男女做暖暖的试看网站酥酥影视软件开发培训班价格
  • 网站示例广州微网站建设效果
  • 大连网站建设联合企邦苏州营销型网站建设方案
  • 做相亲网站的安全责任战鼓网h5在线制作
  • 网站右侧浮动广告专业新站整站快速排名公司
  • 网站排版类型个人免费网页
  • 建设网站需要什么知识南京装饰公司网站建设
  • 网站管理与建设总结潍坊专业企业营销策划有哪些
  • 国外的网站用不用备案郑州网站建设培训
  • 宁波网站推广哪家公司好基层人武部正规化建设
  • 免费 个人网站移动端设计规范
  • 做网站设计公司价格网站图片下载 代码
  • 贵阳网站建设电话互联网网络推广
  • 校园门户网站设计论文室内设计平面图讲解
  • 杭州企业网站搭建网站设计前沿网站
  • 冠县网站建设是什么安庆网站设计
  • wordpress站内计费搜索台州城乡建设规划网站
  • 北京亦庄网站建设公司乐山市城乡规划建设局网站
  • 公司网站被百度转码了wordpress表单制作
  • 私人设计网站推荐最新室内装修风格图片
  • 蚌埠网站建设专业的公司网站开发流程包括需求分析
  • php网站怎么搭建环境配置百度关键词优化多少钱
  • 奢侈品手表网站营销软文怎么写
  • 做英文网站要用什么字体廊坊seo关键词
  • 做网站可能遇到的问题工业网站建设
  • 网站备案号的链接广西建设官方网站
  • 内蒙古呼和浩特市做网站的公司泰安三合一网站建设公司
  • 新网站怎么快速收录wordpress welcome