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

做网站的视频新媒体运营工资一般多少

做网站的视频,新媒体运营工资一般多少,网络推广怎么样,河南省做网站的公司整理一下之前Spring的学习笔记#xff0c;大致有一下几种Spring注入到容器中的方法: 1#xff09;、配置在xml的方式。 2#xff09;、开启包扫描ComponentScan使用Component#xff0c;Service#xff0c;Controller#xff0c;Repository#xff08;其实后三个都继承…整理一下之前Spring的学习笔记大致有一下几种Spring注入到容器中的方法: 1、配置在xml的方式。 2、开启包扫描ComponentScan使用ComponentServiceControllerRepository其实后三个都继承Component注册组件到spring容器里面 3、使用Bean注入 4、使用Import快速导入组件 Configuration ​ 声明为配置类与bean.xml一致 XML方式注入 Sping最开始的用法先定义好xml文件使用ClassPathXmlApplicationContext加载指定xml文件就创建好容器了当Bean过多的时候使用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.xsdbean iduser classcom.test.SpringCoreTest.test00.bean.Userproperty namename valueTom/propertyproperty nameage value12/property/bean/beans ComponentScan 需和Configuration注解一起使用与xml当中的context:component-scan base-package /一致表示扫描指定包下的类将带有Component注解的类全部扫描到容器当中 有几个常用的参数需了解一下 basePackages 扫描指定包下的类并且注入到spring容器里面 useDefaultFilters是否使用默认过滤器和excludeFilters、includeFilters配置一起使用 includeFilters包含过滤器为过滤的内容当useDefaultFilters为false的时候才生效 excludeFilters去除指定过滤器过滤的内容当useDefaultFilters为true的时候才能生效 过滤器为ComponentScan的内部注解类Filter classes指定类与type搭配使用 ​       type过滤器的类型org.springframework.context.annotation.FilterType.class枚举类中(共有五种仅记录三种经常使用的类型) ​ ANNOTATION指定过滤哪些注解例如Controller ​ ASSIGNABLE_TYPE指定过滤哪些类 ​ CUSTOM自定义过滤器可继承TypeFilter接口实现match方法 示例 public class SpringTest01Filter implements TypeFilter {/*** param metadataReader 读取当前扫描类的信息* param metadataReaderFactory 可以获取其他任何类的信息*/public boolean match(MetadataReader metadataReader, MetadataReaderFactory metadataReaderFactory)throws IOException {//获取当前注解信息ClassMetadata classMetadata metadataReader.getClassMetadata();//获取当前扫描类的信息String className classMetadata.getClassName();System.out.println(className);if(className.contains(er))//如果当前扫描类信息包含er的时候注入到Spring容器return true;elsereturn false;}}//配置类 ComponentScan(basePackagescom.test.SpringCoreTest.test01.config,includeFilters {Filter(type FilterType.CUSTOM,classes {SpringTest01Filter.class}) },useDefaultFilterstrue) Configuration 这里会有个问题为什么在使用过滤器的时候对useDefaultFilters有要求源码中解析 ClassPathBeanDefinitionScanner scanner new ClassPathBeanDefinitionScanner(this.registry,componentScan.getBoolean(useDefaultFilters), this.environment, this.resourceLoader); //该段代码中获取了useDefaultFilters的值 //进入该类中 public ClassPathBeanDefinitionScanner(BeanDefinitionRegistry registry, boolean useDefaultFilters,Environment environment, Nullable ResourceLoader resourceLoader) {Assert.notNull(registry, BeanDefinitionRegistry must not be null);this.registry registry;if (useDefaultFilters) {registerDefaultFilters();//useDefaultFilters为true时该方法开启了注册默认过滤器的方法}setEnvironment(environment);setResourceLoader(resourceLoader);}//进入到registerDefaultFilters方法里面 protected void registerDefaultFilters() {//执行了当前方法重置了includeFilters包含的过滤器导致带有Component注解的类都会加载到容器里面所以在useDefaultFilters为true的情况下includeFilters失效的原因在此this.includeFilters.add(new AnnotationTypeFilter(Component.class));ClassLoader cl ClassPathScanningCandidateComponentProvider.class.getClassLoader();try {this.includeFilters.add(new AnnotationTypeFilter(((Class? extends Annotation) ClassUtils.forName(javax.annotation.ManagedBean, cl)), false));logger.trace(JSR-250 javax.annotation.ManagedBean found and supported for component scanning);}catch (ClassNotFoundException ex) {// JSR-250 1.1 API (as included in Java EE 6) not available - simply skip.}try {this.includeFilters.add(new AnnotationTypeFilter(((Class? extends Annotation) ClassUtils.forName(javax.inject.Named, cl)), false));logger.trace(JSR-330 javax.inject.Named annotation found and supported for component scanning);}catch (ClassNotFoundException ex) {// JSR-330 API not available - simply skip.}} Bean 需和Configuration一起使用容器中的key为方法名bean为返回的对象默认为单例。示例 Configuration public class SpringConfig01 {Beanpublic User user() {return new User();}//.... } 以下三个注解可以和Bean一起使用 Scope ​ 指定容器组件类型 ​ prototype多例模式当容器创建时并不会创建对象而是在调用时创建一个新的对象 ​ singleton单例模式容器创建时对象也会创建 ​ request主要是针对web应用每提交一次请求都回去创建一个对象 ​ session针对web应用创建一个session创建一个对象 Lazy ​ 懒加载只有当前组件第一次被调用的时候才会去创建对象针对单例模式 Conditional ​ 可指定在某些条件下才能将当前组件注入到容器 ​ 参数为继承org.springframework.context.annotation.Condition.class的实现类 /*** param context 可以使用ApplicationContext(上下文)* param metadata 可以获取到注解信息*/public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {//获取到BeanFactoryConfigurableListableBeanFactory beanFactory context.getBeanFactory();//可获取环境参数如jvm环境spring环境等等Environment environment context.getEnvironment();String osName environment.getProperty(os.name);if(osName.contains(Windows))//如果当前环境为window则创建当前组件并加载到容器中return true;return false;} Import ​ 快速导入组件,共三种形式这个算是一个比较主要的注入方式吧在Spring中需要做一些扩展的时候都会需要用到这个比如mybatis-spring融合开启AOP功能等使用的就是这里的第三种方式 1、Import(value { Dog.class,Cat.class })//快速导入到容器中以类的全路径作为bean的ID 2、Import(value { SpringTest03ImportSelector.class })//实现ImportSelector接口 public class SpringTest03ImportSelector implements ImportSelector {public String[] selectImports(AnnotationMetadata importingClassMetadata) {//返回为类的全类名return new String [] {};//注意一下这边必须返回一个空的数组不然启动报错空指针异常}}//在源码org.springframework.context.annotation.ConfigurationClassParser.class类中 private CollectionSourceClass asSourceClasses(String... classNames) throws IOException {ListSourceClass annotatedClasses new ArrayList(classNames.length);//这里的classNames为之前ImportSelector返回的数组为null的话即报错for (String className : classNames) {annotatedClasses.add(asSourceClass(className));}return annotatedClasses;} 3、Import(value { SpringTest03ImportBeanDefinitionRegistrar.class })//实现ImportBeanDefinitionRegistrar接口所有的bean注册都会使用到该接口进行注册 /*** param importingClassMetadata 当前类的注解信息 * param registry BeanDefinition的注册类* 可做条件修改*/ public void registerBeanDefinitions(AnnotationMetadata importingClassMetadata, BeanDefinitionRegistry registry) {boolean b1 registry.containsBeanDefinition(user);if(b1) {registry.registerBeanDefinition(pig, new RootBeanDefinition(Pig.class));}
http://www.huolong8.cn/news/6616/

相关文章:

  • 西安做网站哪家比较好6生肖竞猜网站建设
  • wordpress是什么程序昆明排名优化
  • 济南公司注册网站建设品牌网站建设小7蝌蚪
  • 网站目录遍历自己做网站想更换网址
  • 南昌网站建设方案优化中国十大互联网公司排名2021
  • 深南花园裙楼+网站建设乐清新闻综合频道
  • 有经验的常州网站建设郑州公司建站搭建
  • 河间哪里有做网站的微商城建设购物网站
  • 网站建设活动深圳制作网站推荐
  • 学院网站建设策划书南昌网站建设包括哪些
  • 查看公司信息的网站dw做网站环境配置
  • 手机微网站平台登录入口wordpress 修改用户名
  • 常州网站推广软件信息太原网站建设制作报价
  • 手机网站和电脑网站跳转制作网站题材
  • 网站内容与栏目设计wordpress 多标签插件
  • 商丘网站制作的流程河源网站建设工作室
  • 公司网站如何制作价格住房和城乡建设领域从业人员证书
  • 长沙网站建设 鼎誉郑州网站排名哪家好
  • ps网站子页怎么做的山东青?u68元建网站
  • 兼容手机的网站龙岩网站建设大概费用
  • 域名主机网站导航遵义网约车租车公司
  • 做网站接私活价格怎么算长沙seo招聘
  • 黄山新洲建设集团网站帝国cms 门户网站
  • 网站做301根目录在哪里一品楼
  • 佛山网站建设网络公司浙江专业网站seo
  • 什么是工具型网站wordpress注册链接无效
  • 外贸网站优化方案毕业设计怎么做网站
  • 西安网站手机网站建设网络营销有哪些模式
  • 前端只是做网站吗app系统开发公司
  • 自贡市规划建设局网站开发一个app平台大概需要多少钱?