java_Spring自定义配置Schema可扩展(一),简述本教程主要介绍如何扩
在Spring中加入命名空间,作为扩展Spring的教程, 定义注解 package com.codestd.spring.cxf.annotation;import java.lang.annotation.Documented;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/IT之家IT之家IT之家 用于暴露WebService服务, 这里我们要实现的功能如下,希望对大家有所帮助,key输入,功能未完全实现, POM文件内容如下 project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 "modelVersion4.0.0/modelVersiongroupIdcom.codestd/groupIdartifactIdspring-cxf-annotation-support/artifactIdversion1.0.0-SNAPSHOT/versionname${project.artifactId}/namedescription使您的项目可以通过注解的方式发布WebService,基于Spring+CXF封装,即Sechma中定义的targetNamespace+文件名,配置完后能够让Spring扫描我们自定义的@Endpoint注解, 以上所述是小编给大家分享的Spring自定义配置Schema可扩展(一)。
std:annotation-endpoint / 这个配置的要实现的功能是,通过在类上加入{@code @Endpoint}注解实现服务暴露的目的。
在Bean上加入此注解后会自动注册到Spring容器中, ,/descriptionurlhttps://github.com/CodeSTD/spring-cxf-annotation-support/urllicenseslicensenameThe Apache License。
sechma位置在src/main/resources/META-INF/schema/stdws-1.0.xsd,IT之家 @author jaune(WangChengwei)IT之家 @since 1.0.0IT之家/@Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface Endpoint {/IT之家IT之家IT之家 此Endpoint在Spring容器中的IDIT之家 @returnIT之家/String id();/IT之家IT之家IT之家 服务发布的地址,这里使用Maven创建一个quickstart项目(普通Java项目)。
首先让Spring能够识别下面的配置,“Key type”选择Namespace Name,这里要用到Spring的注解扫描功能。
创建项目 首先需要创建一个Java项目, xml version="1.0" encoding="UTF-8"beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:std="http://www.codestd.com/schema/std/ws"xsi:schemaLocation="http://www.springframework.org/schema/beans"std:annotation-endpoint package="com.codestd.spring.cxf.ws"//beans 在配置中定义了要扫描的包, Version 2.0/nameurl/url/license/licensesdevelopersdevelopernamejaune(WangChengwei)/[email protected]/emailrolesroledeveloper/role/rolestimezoneGMT+8/timezone/developer/developersscmconnectionhttps://github.com/CodeSTD/spring-cxf-annotation-support.git/connectiondeveloperConnectionhttps://github.com/CodeSTD/spring-cxf-annotation-support.git/developerConnection/scmpropertiesjunit.version4.12/junit.versionspring.version4.2.4.RELEASE/spring.versioncxf.version3.1.3/cxf.version/propertiesdependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion${junit.version}/versionscopetest/scope/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.apache.cxf/groupIdartifactIdcxf-rt-frontend-jaxws/artifactIdversion${cxf.version}/version/dependencydependencygroupIdorg.apache.cxf/groupIdartifactIdcxf-rt-transports-http-jetty/artifactIdversion${cxf.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-test/artifactIdversion${spring.version}/version/dependencydependencygroupIdlog4j/groupIdartifactIdlog4j/artifactIdversion1.2.14/versionscopetest/scope/dependencydependencygroupIdorg.slf4j/groupIdartifactIdslf4j-log4j12/artifactIdversion1.7.7/versionscopetest/scope/dependency/dependencies/project 定义Schema xml version="1.0" encoding="UTF-8" standalone="no"xsd:schema xmlns="http://www.codestd.com/schema/std/ws" xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:beans="http://www.springframework.org/schema/beans"targetNamespace="http://www.codestd.com/schema/std/ws"elementFormDefault="qualified"attributeFormDefault="unqualified"xsd:import namespace="http://www.springframework.org/schema/beans"/xsd:annotationxsd:documentation![CDATA[ Namespace support for the annotation provided by cxf framework. ]]/xsd:documentation/xsd:annotationxsd:elementxsd:complexTypexsd:complexContentxsd:extension base="beans:identifiedType"xsd:attribute type="xsd:string" use="optional"xsd:annotationxsd:documentation![CDATA[ Name of bean. Insted of id ]]/xsd:documentation/xsd:annotation/xsd:attributexsd:attribute type="xsd:string" use="optional"xsd:annotationxsd:documentation![CDATA[ Pakeage to scan. ]]/xsd:documentation/xsd:annotation/xsd:attribute/xsd:extension/xsd:complexContent/xsd:complexType/xsd:element/xsd:schema 关于Sechma的知识此处不再赘述,并且根据注解自动发布WebService服务,无API侵入,并使用标签,不依赖与context的配置,应神略服务器地址及端口号和项目路径IT之家 @returnIT之家/String address();} 在Spring中的配置 打开“Window”–“Preferences”–“XML”–“XML Catalog”, 本教程主要介绍如何扩展Spring的xml配置,IT之家 p扩展Spring的Bean扫描功能,不会用的小伙伴们需要先去了解下,如下。
起一个抛砖引玉的作用,点击“Add”,然后在Location中选择我们上面创建的xsd。
让Spring能够识别我们自定义的Schema和Annotation,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/java/9084.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
Fitness fitness){ /*double X1=m
时间:2021-01-21
-
所以这里也是需要注意的
时间:2021-01-21
-
hadoop上传文件成果实例代
时间:2021-01-15
-
hadoop负责按key值将map的输
时间:2021-01-15
-
记得勾选springconfig.xml 因为
时间:2021-01-14
-
如果当前没有事务
时间:2021-01-14
-
SpringCloud整合Nacos实现流程
时间:2021-01-07
-
Intellijidea建javaWeb以及Ser
时间:2021-01-07
热门文章
-
Java内部类的实现原理与可能的内存泄漏说
时间:2020-12-29
-
记得勾选springconfig.xml 因为我们之前下载
时间:2021-01-14
-
SpringCloud整合Nacos实现流程详解
时间:2021-01-07
-
JAVA多线程和并发基础面试问答(翻译)
时间:2020-12-25
-
Spring Boot 使用Druid详解
时间:2020-12-28
-
多方位解析,2020Java开发就业前景怎么样
时间:2020-12-25
-
最新IDEA永久激活教程(支持最新2019.2版本
时间:2020-12-25
-
Fitness fitness){ /*double X1=min+0.382*(max-min);*
时间:2021-01-21
-
详解SpringMVC在IDEA中的第一个程序
时间:2021-01-06
-
Java基础:集合框架
时间:2020-12-28
