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

母婴网站怎么做网站设计文档模板

母婴网站怎么做,网站设计文档模板,花蝴蝶 高清直播,安阳 做网站#x1f308;键盘敲烂#xff0c;年薪30万#x1f308; 目录 一、上古时代原始方式#xff1a; #x1f4d5;XML文件 ~~bean定义 #x1f440;演示获取bean#xff1a; ❌缺点#xff1a; #x1f4d5;注解方式#xff1a; ~~component ~~指定扫描路径#… 键盘敲烂年薪30万 目录 一、上古时代原始方式 XML文件 ~~bean定义 演示获取bean ❌缺点 注解方式 ~~component ~~指定扫描路径 演示获取bean XML太繁琐  二、现代科技配置类 配置类作用 componentScan configuration 演示获取bean ⭐本文重点,没有之一⭐ 三、工厂模式FactoryBean 认识它 factorybean的优势 小总结 四、超级无敌import 应用场景 importResource ❓思考问题 import({类的字节码文件……}) import导入ImprotSelector接口 import导入ImportBeanDefinitionRegistrar接口 import导入BeanDefinitionRefistryPostProcessor接口  五、register注册bean register 六、总结 一、上古时代原始方式 XML文件 ~~bean定义 配置自己的或者第三方的beanid指定bean的名称 class指定bean的位置 !--声明自定义bean--bean iddog classcom.itpan.domain.Dog/bean classcom.itpan.domain.Cat/!--声明第三方bean--bean iddataSource classcom.alibaba.druid.pool.DruidDataSource/ 演示获取bean void te1(){ClassPathXmlApplicationContext ctx new ClassPathXmlApplicationContext(applicationcontext1.xml);System.out.println(ctx.getBean(dog)); // 获取自定义baenSystem.out.println(ctx.getBean(Cat.class));System.out.println(ctx.getBean(dataSource)); // 获取第三方bean//获取所有的beanSystem.out.println();for (String name : ctx.getBeanDefinitionNames()) {System.out.println(name);}} ❌缺点 太麻烦且可读性太差bean一旦多了就不知道哪些被加载了哪些没被加载。 注解方式 ~~component 只要在你的类上加上component注解就代表这个类要交给IOC容器管理但这还不够java文件这么多IOC不能所有文件都扫描一遍吧所以还要在XML配置文件里面指定扫描路径。component(value 可指定bean的名称) 等同于z在XML里面的id ~~指定扫描路径 开启命名空间需要动5个地方 演示获取bean Testvoid te2(){// 通过注解加载的beanClassPathXmlApplicationContext ctx new ClassPathXmlApplicationContext(applicationcontext2.xml);System.out.println(ctx.getBean(dog)); // 获取自己的beanSystem.out.println(ctx.getBean(dataSource)); // 获取第三方的beanSystem.out.println();// 获取容器中的所哟beanfor (String name : ctx.getBeanDefinitionNames()) {System.out.println(name);}}XML太繁琐  XML文件里面的内容都是固定的只有bean的定义不同那么能不能省区XML文件呢 二、现代科技配置类 配置类作用 配置类说白了就是加载bean的当然配置类本身也会变为bean(重要)只要在配置类上加相应的注解spring会自动扫描相应的包来加载bean。 componentScan componentScan就替代了XML里面那一大坨代码但是扫描哪些包spring还不知道所以要指定包扫描路径component({指定扫描哪些包下的bean,xxx})。 小细节如果不加扫描路径默认扫描本包及其子包下的类。 configuration 同上面的注解一样它亦可以代替XML文件表示该类是一个配置类但是它们两个真的相同吗 演示获取bean Testvoid te3(){AnnotationConfigApplicationContext ctx new AnnotationConfigApplicationContext(SpringConfig1.class);for (String name : ctx.getBeanDefinitionNames()) {System.out.println(name);}} 注意 获取配置类的bean是通过annotationconfigapplicationcontext这个对象的相关方法那么cofiguration与componentScan有什么不同吗如果相同用为什么会出现两个注解。 ⭐本文重点,没有之一⭐ 相同点加上这两个注解都会将该类变为配置类成为IOC容器的bean假如你获取bean的方式为annotationconfigapplicationcontext那么这两个注解的作用一样。但是如果你加载bean的方式是通过别的包扫描这个包那么你不加configuration这个注解就扫描不上扫描不上就成为不了bean对象到时候就干瞪眼了。 configuration这个注解有个属性是proxybeanmethods它的作用是使用哪种代理模式。 看完下面这个例子你就懂了 运行结果 把proxybeanmethod改为false 总结         当proxybeanmethods为true是调用里面的方法创建的bean是代理对象调用的也就是每一次调用方法如果IOC容器俩面有这个bean对象就会使用这个对象如果没有new一个以后用到了就会返回这个对象所有三个bean对象一致。         当proxybeanmethods为false是代理对象每一次调用创建bean的方法都不会从IOC容器里面找而是直接跑一遍代码从而导致创建的三个bean对象不一致。 三、工厂模式FactoryBean 认识它 FactoryBean是我们创建了一个类这个类专门用来造bean的你可能会有疑惑它和上面直接返回这个对象的那种方法有什么区别啊就像下面这样 factorybean的优势 来自gpt的肯定 FactoryBean 提供了更高级别的配置和创建过程的控制允许你以更灵活的方式管理和定制 Bean 的创建。它适用于那些需要特殊处理的 Bean 创建场景而不仅仅是简单地实例化和配置对象。 小总结 并不是你返回值是什么就创建什么bean例如factorybean就是创建的它的泛型的bean 四、超级无敌import 应用场景 假如一个很老的项目已经打包上线了加载bean的方式XML现在要新增功能如何添加新的将那些bean导入呢你不能修改原码依次加上各种注解吧这不现实。。 就像下面这样 运行后只有spring自带的bean importResource 你只需加上这么一个注解指定文件路径就欧啦 再次运行熟悉的bean就回来了 ❓思考问题 假如你的spring中也定义了Dog这个bean引入的XML文件也定义了Dog那么会发生什么 结论 XML文件的bean会覆盖spring中的bean import({类的字节码文件……}) 使用improt注解导入的bean无需在该bean上加component注解并且使用import导入的bean的名称为类全类名不再是什么方法的返回值了这点要注意如果导入的是配置类不光配置类被加载为bean配置类里面的bean也被加载为bean。 Configuration(proxyBeanMethods false) Import({Cat.class}) public class SpringConfig3 {Beanpublic Dog dog(){return new Dog();} } 注意import只能使用一次如果想导入多个bean用分割 import导入ImprotSelector接口 可以做到bean的加载控制 public class MyImportSelect implements ImportSelector {Overridepublic String[] selectImports(AnnotationMetadata importingClassMetadata) {// import导谁形参就是谁System.out.println(提示 importingClassMetadata);// 优势就是可以在这里面做判断做到bean的加载控制boolean flag importingClassMetadata.hasAnnotation(import org.springframework.context.annotation.Configuration);if (flag){return new String[]{com.itpan.domain.Cat};}return new String[]{com.itpan.domain.Fish};} } import导入ImportBeanDefinitionRegistrar接口 可以自定义bean的名称 public class MyRegister implements ImportBeanDefinitionRegistrar {Overridepublic void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry, BeanNameGenerator importBeanNameGenerator) {// 构造一个beandefinition对象BeanDefinition beanDefinition BeanDefinitionBuilder.rootBeanDefinition(Fish.class).getBeanDefinition();registry.registerBeanDefinition(Jinyu, beanDefinition);} } import导入BeanDefinitionRefistryPostProcessor接口  当IOC容器初始化所有的bean后在加载这个类中的bean也叫bean的后处理。 public class MyPostProcessor implements BeanDefinitionRegistryPostProcessor {// bean的后处理Overridepublic void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) throws BeansException {BeanDefinition beanDefinition BeanDefinitionBuilder.rootBeanDefinition(BookServiceImpl2.class).getBeanDefinition();registry.registerBeanDefinition(bookService, beanDefinition);} } 五、register注册bean register 容器初始化完成之后可以手动注册bean Testvoid te7(){AnnotationConfigApplicationContext ctx new AnnotationConfigApplicationContext(SpringConfig3.class);SpringConfig3 springConfig3 ctx.getBean(springConfig3, SpringConfig3.class);System.out.println(springConfig3.dog());ctx.registerBean(cat, Cat.class);System.out.println(ctx.getBean(cat));} 六、总结
http://www.zqtcl.cn/news/908118/

相关文章:

  • 网站建设开发环境自学服装设计下载
  • 南京网站建设公司哪家好设计教程网站有哪些
  • 网页和网站做哪个好用吗陕西陕煤建设集团有限公司网站
  • 网站建设系统优势设计欣赏
  • 河北省网站建设东莞网站开发哪家好
  • php做学校网站免费苏州网站建设的公司
  • 网站做rss+wordpresswordpress动漫插件
  • wordpress更新网站内容公众号制作教程
  • 复兴区建设局网站怎么解压wordpress
  • 资源网站哪个好淄博网站设计
  • 网站建设林晓东网站数据库一般多大
  • 织梦网站后台默认登陆路径网站建设简介淄博
  • 重庆住房建设部网站东莞网站制作多少钱
  • 做胎儿羊水鉴定网站网站管理主要包括哪些内容
  • 公司网站建设应注意网店推广有哪些方法
  • 新网$网站优化企业资源管理软件
  • 甘肃营销型网站制作网页设计流程的图片
  • 厦门成交型网站建设公司今科云平台网站建设
  • 网站推广效果怎样学电商赚钱
  • 企业网站的一般要素包括哪些公司网站建设是什么费用
  • 网站收录说明长沙知名的营销公司
  • 网站开发 业务流程图天津网站排名方案
  • 风雨同舟网站建设小说网站如何做书源
  • h5手机网站建设哪家好广州有什么好玩的地方和风景好
  • 北京哪个网站建设最好怀化网站建设公司
  • 做类似猪八戒网的网站注册一个商标多少钱
  • 怎么提高网站访问速度wordpress怎么备份按在
  • 淘宝网站是谁做的好处wordpress商业授权
  • 淘宝客网站怎么批量采集淘宝商品方维采集淘宝数据思路珠宝类网站建设
  • 重庆网站关键字优化雅布设计中国分公司在哪里