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

那些网站可以做h5北京seo网络优化招聘网

那些网站可以做h5,北京seo网络优化招聘网,电商创业怎么做,网站建设前端切图文章目录 前言一、Configuration二、Import导入组件三、Conditional条件装配四、ImportResource导入Spring配置文件五、ConfigurationProperties配置绑定总结 前言 本文主要讲诉Configuration、Import、Conditional、ImportResource、ConfigurationProperties注解。 先将实体… 文章目录 前言一、Configuration二、Import导入组件三、Conditional条件装配四、ImportResource导入Spring配置文件五、ConfigurationProperties配置绑定总结 前言 本文主要讲诉Configuration、Import、Conditional、ImportResource、ConfigurationProperties注解。 先将实体类给大家方便下面测试 get、set、构造器大家自己添加这里我用的是ToString等注解以后会出文章讲诉所以没写这些就不列出来了。 public class Pet {private String name;}public class User {private String name;private Integer age;private Pet pet; }public class Car {private String brand;private String price; }一、Configuration 1、配置类里面使用Bean标注在方法上给容器注册组件默认也是单实例的所谓单实例跟我们在Spring中了解的bean创建对象的单实例是一样的就是在调用getBean方法创建相同类型实例对象时这些对象的地址相同即无论创建多少对象都是同一个对象。多实例就是每次创建对象都重新创建一个不同地址的新对象。 2、配置类本身也是组件。 3、proxyBeanMethods代理bean的方法。 Full模式(proxyBeanMethods true)保证每个Bean方法被调用多少次返回的组件都是单实例的默认 Lite模式(proxyBeanMethods false)每个Bean方法被调用多少次返回的组件都是新创建的 配置类 Configuration(proxyBeanMethods true) //告诉SpringBoot这是一个配置类 配置文件 public class MyConfig {/*** Full:外部无论对配置类中的这个组件注册方法调用多少次获取的都是之前注册容器中的单实例对象* return*/Bean //给容器中添加组件。以方法名作为组件的id。返回类型就是组件类型。返回的值就是组件在容器中的实例public User user01(){User zhangsan new User(zhangsan, 18,tomcatPet());//user组件依赖了Pet组件return zhangsan;}Bean(tom)public Pet tomcatPet(){return new Pet(tomcat);} }SpingBoot启动类 SpringBootConfiguration EnableAutoConfiguration ComponentScan(com.dragon.boot) public class MainApplication {public static void main(String[] args) {//1、返回我们IOC容器ConfigurableApplicationContext run SpringApplication.run(MainApplication.class, args);//2、查看容器里面的组件// String[] names run.getBeanDefinitionNames();// for (String name : names) {// System.out.println(name);// }//3、从容器中获取组件Pet tom01 run.getBean(tom, Pet.class);Pet tom02 run.getBean(tom, Pet.class);System.out.println(组件(tom01 tom02));//4、com.atguigu.boot.config.MyConfig$$EnhancerBySpringCGLIB$$51f1e1ca1654a892MyConfig bean run.getBean(MyConfig.class);System.out.println(bean);//如果Configuration(proxyBeanMethods true)代理对象调用方法。SpringBoot总会检查这个组件是否在容器中有。//保持组件单实例User user bean.user01();User user1 bean.user01();System.out.println(user user1);User user01 run.getBean(user01, User.class);Pet tom run.getBean(tom, Pet.class);System.out.println(用户的宠物(user01.getPet() tom));} }看运行结果分析 组件true 配置类中我用的Full模式Configuration(proxyBeanMethods true) 当然就是单实例模式所有创建的对象都是同一个对象。com.dragon.boot.config.MyConfig$ $ SpringCGLIB$$0283e8358 这个输出是我getBean获取的配置类组件可以看出配置类本身也是组件。用户的宠物true 当我开启单实例模式时就能够处理依赖关系这里我创建的组件宠物用户组件里的宠物User zhangsan new User(zhangsan, 18,tomcatPet());。我创建的用户组件时就是调用的tomcatPet()因为是单实例模式所以我在创建用户调用创建的宠物和直接创建的宠物都是同一个对象。 启动类中我写了个查看容器里面的组件的方法注释掉了可以运行在控制台CtrlF搜索查看注册的组件。 将proxyBeanMethods 属性改成false运行结果就变成了false。 总结 配置 类组件之间无依赖关系用Lite模式加速容器启动过程减少判断配置 类组件之间有依赖关系方法会被调用得到之前单实例组件用Full模式默认 二、Import导入组件 Bean、Component、Controller、Service、Repository它们是Spring的基本标签在Spring Boot中并未改变它们原来的功能。 ComponentScan在Spring学习中大家一定接触了吧就是开启组件扫描。 Import({User.class、DBHelper.class})会给容器中自动创建出User、DBHelper组件默认组件的名字就是全类名。如果创建多个组件就在在大号内添加用逗号隔开。 Import({User.class,DBHelper.class}) Configuration(proxyBeanMethods false) //告诉SpringBoot这是一个配置类 配置文件 public class MyConfig {//.... }启动类 //1、返回我们IOC容器 ConfigurableApplicationContext run SpringApplication.run(MainApplication.class, args);//...//5、获取组件 String[] beanNamesForType run.getBeanNamesForType(User.class);for (String s : beanNamesForType) {System.out.println(s); }三、Conditional条件装配 条件装配满足Conditional指定的条件则进行组件注入 这里用ConditionalOnMissingBean举例说明 ConditionalOnMissingBean(name “tt”) 用在类上没有tt名字的Bean时才会将类里所有配置注册成组件 用在方法上没有tt名字的Bean时才会将改方法注册成组件 Configuration(proxyBeanMethods true) //告诉SpringBoot这是一个配置类 配置文件 Import({User.class}) ConditionalOnMissingBean(name tom) public class MyConfig {/*** Full:外部无论对配置类中的这个组件注册方法调用多少次获取的都是之前注册容器中的单实例对象* return*/Bean //给容器中添加组件。以方法名作为组件的id。返回类型就是组件类型。返回的值就是组件在容器中的实例public User user01(){User zhangsan new User(zhangsan, 18,tomcatPet());//user组件依赖了Pet组件return zhangsan;}Bean(tom)public Pet tomcatPet(){return new Pet(tomcat);} }启动类 ConfigurableApplicationContext run SpringApplication.run(MainApplication.class, args);//2、查看容器里面的组件String[] names run.getBeanDefinitionNames();for (String name : names) {System.out.println(name);}boolean tom run.containsBean(tom);//是否包含某个组件System.out.println(容器中Tom组件tom);//falseboolean user01 run.containsBean(user01);System.out.println(容器中user01组件user01);//trueboolean tom22 run.containsBean(tom22);System.out.println(容器中tom22组件tom22);//true四、ImportResource导入Spring配置文件 公司项目使用bean.xml文件生成配置bean然而你为了省事想继续复用bean.xmlImportResource粉墨登场。 bean.xml ?xml version1.0 encodingUTF-8? beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:contexthttp://www.springframework.org/schema/contextxsi:schemaLocationhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsdbean idhaha classcom.dragon.boot.bean.Userproperty namename valuezhangsan/propertyproperty nameage value18/property/beanbean idhehe classcom.atguigu.boot.bean.Petproperty namename valuetomcat/property/bean /beans复用方法 ImportResource(classpath:bean.xml) public class MyConfig {//... }启动类测试 //1、返回我们IOC容器ConfigurableApplicationContext run SpringApplication.run(MainApplication.class, args);boolean haha run.containsBean(haha);boolean hehe run.containsBean(hehe);System.out.println(hahahaha);//trueSystem.out.println(hehehehe);//true返回true说明注册成了组件。 五、ConfigurationProperties配置绑定 使用Java读取到properties文件中的内容并且把它封装到JavaBean中 传统方法 public class getProperties {public static void main(String[] args) throws FileNotFoundException, IOException {Properties pps new Properties();pps.load(new FileInputStream(a.properties));Enumeration enum1 pps.propertyNames();//得到配置文件的名字while(enum1.hasMoreElements()) {String strKey (String) enum1.nextElement();String strValue pps.getProperty(strKey);System.out.println(strKey strValue);//封装到JavaBean。}}}SpringBoot的两种方法 ConfigurationProperties Component 假设有配置文件application.properties mycar.brandBYD mycar.price100000只有在容器中的组件才会拥有SpringBoot提供的强大功能所以Bean对象类注册成组件 下面的prefix是指属性前缀 Component ConfigurationProperties(prefix mycar) public class Car { ... }EnableConfigurationProperties ConfigurationProperties 1.开启Car配置绑定功能 2.把这个Car这个组件自动注册到容器中 配置类 EnableConfigurationProperties(Car.class) public class MyConfig {//... }Car类 ConfigurationProperties(prefix mycar) public class Car {//... }HelloController类 RestController public class HelloController {AutowiredCar car;RequestMapping(/car)public Car car(){return car;}RequestMapping(/hello)public String handle01(){return HelloSpring Boot 2!你好;} }这里我写了个控制层运行结果如下 可以看出确实将properties文件内的内容封装了。 总结 以上就是SpringBoot的一些底层注解的讲解。
http://www.pierceye.com/news/324393/

相关文章:

  • 保山市建设厅网站做建筑机械网站那个网站好
  • 广告位网站建设国际人才网中山招聘网
  • 南昌市城市建设档案馆网站一个网站做无限关键词
  • wordpress特别卡 iis东莞推广优化公司
  • 做网站收入怎样开放平台登录
  • 外贸网站运营推广微信运营商
  • 国外做储物柜的网站做亚马逊网站一般发什么快递
  • 仿古建筑公司网站廊坊网站建设公司
  • 在线动画手机网站模板下载学软件开发需要什么基础
  • 北京的网站建设收费标准推广产品的方法和步骤
  • 北京市专业网站制作企业合肥做网络推广的公司
  • 网站建设php教程视频手机商城网站设计
  • 重庆网站建设公司哪个最好老家装设计网
  • 外贸网站建设产品crm公司
  • 网站做查赚钱网站建设捌金手指花总四
  • 有没有做链接的网站彩票型网站建设
  • 15年做哪个网站能致富网站界面设计的相关指南
  • 网站报价功能清单德州做网站最好的公司
  • 网站开发设计图片搭建论坛需要多少钱
  • 网站建设价格明细做一套二级域名网站怎么做
  • 网站建设 发展方向手机开发人员选项怎么打开
  • 深圳网站建设深圳网络邢台市政建设集团股份有限公司网站
  • 广东网站开发搭建旅游网站开发内容
  • 恭城网站建设中象做网站怎么样
  • 泰兴网站建设开发门户网站内容建设岗位职责
  • 单页网站有后台搜索引擎优化工具有哪些
  • 视频网站弹幕怎么做中小企业网站优化
  • 南充网站建设江宁外贸网站建设
  • 从事网站开发需要的证书泰安百度推广代理
  • 找工作哪个网站好2022查询网站备案显示划横线