当前位置: 首页 > 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.zqtcl.cn/news/324393/

相关文章:

  • 工作设计室网站海外网站代理
  • 室内设计官方网站没网站怎么做cpa
  • 哪个网站做欧洲旅游攻略好wordpress编辑器字体大小
  • aspcms 手机网站wordpress 刷浏览量
  • dw网站首页的导航怎么做网站建设企业建站模板
  • 平台型网站建设网站关键词优化seo
  • 齿轮机械东莞网站建设技术支持热搜词排行榜关键词
  • 河南专业做网站网站推广优化c重庆
  • 温州网站建设钱建设工程公司网站
  • 做笑话网站全国大学生职业生涯规划大赛官网
  • 便宜购 网站建设平台推广引流怎么做
  • 怎么用记事本做钓鱼网站制作公司网页的步骤
  • 机械设备东莞网站建设智慧软文网站
  • 个人网站需不需要搭建服务器蘑菇短视频2023版特色功能
  • 网站建设公司是什么东兰县建设局网站
  • 网站优化排名方案软件发布网
  • 企业网站开发价钱低企业策划案例
  • 网站建设帐号网站导入页欣赏
  • ftp 迁移 网站建筑公司商标logo设计
  • 没钱怎么做网站wordpress 链接修改插件
  • 建一个网站需要多久建设银行官网登录入口
  • 贸易公司网站制作邢台哪里做网站
  • 2018网站开发的革新帮别人起名 做ppt的网站
  • 有哪些做问卷调查赚钱的网站6长沙网站建设技术
  • 烟台做网站需要多少钱制作ppt的软件是什么
  • 泉州模板开发建站wordpress显示一个类目
  • 河南造价信息网官网为什么要做网站优化
  • 网站做个seo要多少钱做公司网站开发的公司
  • 企业网站html模板下载安装的字体wordpress
  • 庙行镇seo推广网站朋友圈的广告推广怎么弄