導航:首頁 > 編程語言 > java根據實體得到service

java根據實體得到service

發布時間:2024-04-30 15:18:14

『壹』 java apiimpl怎麼調用 service介面

一、利用jdk web服務實現,這里使用基於SOAP message的Web服務
①.首先建立一個Web services EndPoint:package Hello;
import javax.jws.WebService;
import javax.jws.WebMethod;
import javax.xml.ws.Endpoint;
@WebService
public class Hello {
@WebMethod
public String hello(String name) {
return "Hello, " + name + "\n";
}
public static void main(String[] args) {
// create and publish an endpoint
Hello hello = new Hello();
Endpoint endpoint = Endpoint.publish("

, hello);
}
}
②.使用apt編譯Hello.java(例:apt -d [存放編譯後的文件目錄] Hello.java ) ,
會生成jaws目錄
③.使用java Hello.Hello運行,然後將瀏覽器指向

就會出現下列顯示
④.使用wsimport生成客戶端使用如下:
wsimport -p . -keep

這時,會在當前目錄中生成如下文件:
⑤.客戶端程序
1 class HelloClient{
2 public static void main(String args[]) {
3 HelloService service = new HelloService();
4 Hello helloProxy = service.getHelloPort();
5 String hello = helloProxy.hello("你好");
6 System.out.println(hello);
7 }
8 }
以上方法還稍顯繁瑣,還有更加簡單的方法

二、使用xfire,我這里使用的是myeclipse集成的xfire進行測試的利用xfire開發WebService,可以有三種方法:
1. 一種是從javabean中生成;
2. 一種是從wsdl文件中生成;
3. 還有一種是自己建立webservice
步驟如下:
用myeclipse建立webservice工程,目錄結構如下:首先建立webservice介面,
代碼如下:
1 package com.myeclipse.wsExample;
2 //Generated by MyEclipse
3
4 public interface IHelloWorldService {
5
6 public String example(String message);
7
8 }
接著實現這個借口:
1 package com.myeclipse.wsExample;
2 //Generated by MyEclipse
3
4 public class HelloWorldServiceImpl implements IHelloWorldService {
5
6 public String example(String message) {
7 return message;
8 }
9
10 }修改service.xml文件,加入以下代碼:
1 <service>
2 <name>HelloWorldService</name>
3 <serviceClass>
4 com.myeclipse.wsExample.IHelloWorldService
5 </serviceClass>
6 <implementationClass>
7 com.myeclipse.wsExample.HelloWorldServiceImpl
8 </implementationClass>
9 < style>wrapped</style>
10 <use>literal</use>
11 <scope>application</scope>
12</service>

『貳』 java service鏄浠涔堟剰鎬

Java service 鎸囩殑鏄浣跨敤Java璇璦緙栧啓鐨勬湇鍔°傝繖縐嶆湇鍔¢氬父鏄鍦ㄦ湇鍔″櫒涓婅繍琛岀殑錛屾彁渚涚壒瀹氱殑鍔熻兘銆侸ava service 鐨勫ソ澶勬槸璺ㄥ鉤鍙幫紝鍙浠ュ湪涓嶅悓鐨勬搷浣滅郴緇熴佺‖浠朵笂榪愯屻傛湇鍔″櫒絝鐨勫簲鐢ㄧ▼搴忓彲浠ラ氳繃璋冪敤 Java service 鏉ュ疄鐜頒笌瀹㈡埛絝鐨勪氦浜掋


Java service 鐨勫簲鐢ㄥ満鏅鍗佸垎騫挎硾銆傚畠鍙浠ョ敤浜庡紑鍙戜紒涓氱駭搴旂敤紼嬪簭錛屼負鐢ㄦ埛鎻愪緵鍚勭嶅悇鏍風殑鏈嶅姟銆傛瘮濡傦紝浼佷笟鍙浠ヤ嬌鐢 Java service 鏉ュ壋寤哄畨鍏ㄧ殑 Web 鏈嶅姟錛岃塊棶鏁版嵁搴撱佸彂閫佺數瀛愰偖浠剁瓑鎿嶄綔銆傛ゅ栵紝Java service 榪樺彲浠ユ槸鐙絝嬭繍琛岀殑宸ュ叿錛屽彲浠ラ氳繃緗戠粶鎴栨湰鍦扮殑鏂瑰紡璋冪敤銆


Java service 寮鍙戠浉瀵圭畝鍗曪紝鍙闇鎺屾彙 Java 緙栫▼璇璦浠ュ強涓浜涚浉鍏沖伐鍏峰嵆鍙銆侸ava 鎻愪緵浜嗕竴緋誨垪鐨 API 鍜屾嗘灦錛屼嬌寰楃紪鍐 Java service 鍙樺緱鏇村姞瀹規槗銆傚彟澶栵紝Java service 榪樺彲浠ュ埄鐢ㄥ叾浠栧紑婧愭嗘灦錛屼緥濡 Spring銆丠ibernate 絳夛紝瀹炵幇鏇翠負澶嶆潅鐨勯昏緫鎿嶄綔銆傛諱箣錛孞ava service 鏄寮鍙戞湇鍔$杞浠剁殑閲嶈佹妧鏈涔嬩竴錛屽煎緱寮鍙戣呮繁鍏ュ︿範鍜屽簲鐢ㄣ

『叄』 java中知道model層,怎麼根據model層 寫service層、impl層、mapper層

沒有強制的固定格式。
只是編程習慣。
不過要注意的是,一般在service 層 做事物。
至於怎麼寫 明白一點:
從controller(action層 不知道你用什麼框架)--->service 層(包括介面層和實現層(impl))------>mapper層(Dao 層)。
1:這其實是 業務需要+編程習慣決定的。 因為這樣分層,分模塊開發,可擴展。邏輯思維清楚,這個你開發中可以體會到。
2:也就是說,你不用service 層 直接把所有東西寫在一個方法里他照樣可以實現功能。 但是這樣不利於擴展,不利於維護。所以他們這樣分層開發最好。框架這樣設計是有道理的。

『肆』 java普通類怎麼調用service曾的累

如果你用spring的話,你就可以在類中初始化spring配置文件applicationContext.xml:
ApplicationContext applicationContext = new (applicationContext.xml");
然後拿到專service類:
logonService = (LogonService) this.applicationContext.getBean("logonService");
調用類中的屬方法:
logonService.userLogin(userName);
即可

『伍』 java Webservice都有哪幾種方式啊,哪種方式比較好啊

webservice的應用已經越來越廣泛了,下面介紹幾種在Java體系中開發webservice的方式,相當於做個記錄。
1.Axis2
Axis是apache下一個開源的webservice開發組件,出現的算是比較早了,也比較成熟。這里主要介紹Axis+eclipse開發webservice,當然不用eclipse也可以開發和發布webservice,只是用eclipse會比較方便。

(1)下載eclipse的Java EE版本

(2)下載axis2

(3)下載eclipse的axis2插件
Axis2_Codegen_Wizard
Axis2_Service_Archiver

推薦使用1.3的版本

(4)eclipse安裝axis2插件
1)在任意目錄下新建一個Axis2文件夾,在該文件夾下新建eclipse目錄,在eclipse目錄中新建plugins目錄和features目錄,例如:D:\programSoftware\eclipse-SVN\Axis2\eclipse;
2)把下載的axis2插件解壓,並把解壓的文件放到新建的eclipse的plugins目錄下;
3)在%eclipse_home%的目錄下新建links目錄,並在links目錄下新建axis2.link文件,內容為:path=D:\programSoftware\eclipse-SVN\Axis2;
4)重啟eclipse,點擊·file-new-other,如果看到Axis2 Wizards,則表明插件安裝成功。

(5)安裝axis2

(6)使用eclipse新建web工程,創建一個普通java類,至少包含一個方法。

(7)發布webservice
1)點擊eclipse的File-New-other,打開Axis2 Wizards,選擇Axis2 Service Archiver,然後Next;
2)選擇Class File Location,也就是類文件存放路徑,注意:只選到classes目錄,不要包括包文件夾,然後Next;
3)選擇Skip WSDL,然後Next
4)一路Next到Select the Service XML file to be included in the Service archive,勾選Generate theservice xml automatically;
5)Service Name-填寫你的service名稱,Class Name-填寫類名稱,要包括包名,然後點擊load,然後點擊Finish,這時webservice就發布成功了;
6)然後到%TOMCAT_HOME%/webapps/axis2/WEB-INF/services 看看是否多了一個.aar的文件;

注意:以上的方式是發布到axis2.war包中,你也可以把生成.aar文件到你的實際應用中,同時,你也可以使用eclipse的create webservice功能發布你的webservice,選擇axis2生成你的webservice,這樣webservice就會部署到你的應用中了。

2.Apche CXF
CXF開發webservice也是比較方便和簡單的,它和spring的集成可以說是非常地好。舉一個CXF開發webservice的例子吧。
1)在eclipse中新建一個web工程,導入依賴包,如圖:

2)編寫一個介面,如:

注意:CXF開發的webservice,介面中的方法的參數一定要以這種方式,否則客戶端調用的時候CXF服務端會接收不到參數的值,name:參數名稱,可不寫(建議寫上),targetNamespace:命名空間,一定要填寫上,默認是包名反過來的順序,mode:參數類型,IN表示輸入。
3)編寫一個實現類,實現介面的方法;
4)和spring的集成,編寫一個bean文件,如:cxf-beans.xml,內容如下:

Cxf-beans.xml代碼
<?xml version="1.0" encoding="UTF-8" ?>

<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

<jaxws:endpoint id="vote" implementor="com.zcl.cxf.service.VoteImpl" address="/Vote" />
</beans>
這個文件比較容易理解,就不解釋了。
5)配置CXFServlet
在web.xml文件中配置CXFServlet,載入cxf-beans.xml文件,內容如下:

Web.xml代碼

id="WebApp_ID" version="2.5">

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>WEB-INF/cxf-beans.xml</param-value>
</context-param>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

<servlet>
<servlet-name>cxf</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>cxf</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
</web-app>
把工程部署到中間件,如tomcat,就可以訪問該webservice了。

3.JDK開發webservice
1)編寫一個Java類,如下:

Jdkwebservice.java代碼
package demo;

import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

@WebService
public class JdkWebService {

return "Just do it," + value + "!";
}

public static void main(String[] args) {

}
}
2)運行該java類,在瀏覽器上就可以訪問該webservice了。
注意:開發web工程的時候,這種方法不太友好。我們可以編寫一個servlet類,在servlet類的初始化方法中發布webservice,這樣我們的中間件伺服器啟動的時候就會幫我們自動webservice了。

4) xfire
開發WebService的框架不少,每個框架都有各自的有點,最近我用xfire練習開發WebService,下面是開發WebService的小例子,希望對入門的人有些小幫助
1.新建一個java web project命名為TestWebService,將xfire相關的jar包添加到lib目錄中,寫介面類和實現類

Java代碼
package com.lamp.service;

public interface MessageService {
public String getName(String name);
}
[java] view plainprint?
package com.lamp.service;

public interface MessageService {
public String getName(String name);
}

實現類

Java代碼
package com.lamp.service.impl;

import com.lamp.service.MessageService;

public class MessageServiceImpl implements MessageService {

public String getName(String name) {
return "hellow " + name + ", welcome to WebService world";
}

}
[java] view plainprint?
package com.lamp.service.impl;

import com.lamp.service.MessageService;

public class MessageServiceImpl implements MessageService {

public String getName(String name) {
return "hellow " + name + ", welcome to WebService world";
}

}

在src目錄下新建文件夾META-INF,然後再在其下新建文件夾xfire,在xfire目錄下新建配置文件services.xml

Xml代碼
<?xml version="1.0" encoding="UTF-8"?>

<service>
<name>MessageService</name>
<serviceClass>com.lamp.service.MessageService</serviceClass>
<implementationClass>com.lamp.service.impl.MessageServiceImpl</implementationClass>
</service>
</beans>
[xml] view plainprint?
<?xml version="1.0" encoding="UTF-8"?>

<service>
<name>MessageService</name>
<serviceClass>com.lamp.service.MessageService</serviceClass>
<implementationClass>com.lamp.service.impl.MessageServiceImpl</implementationClass>
</service>
</beans>

最後在web.xml中配置xfire的servlet

Xml代碼
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>

</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
[xml] view plainprint?
<servlet>
<servlet-name>XFireServlet</servlet-name>
<servlet-class>

</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/servlet/XFireServlet/*</url-pattern>
</servlet-mapping>

<servlet-mapping>
<servlet-name>XFireServlet</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>

這樣伺服器端開發完畢,現在開始客戶端的開發
新建一個java project也將xfire相關的jar引入,我用ant在客戶端生成代理對象,在項目路徑下新建build.xml,代碼為

Xml代碼
<?xml version="1.0" encoding="UTF-8"?>

<project name="WebService" basedir="." default="gen-webservice">

<property file="build.properties">
</property>

<path id="project-classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>

<target name="gen-webservice">
<taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask" classpathref="project-classpath" />

<wsgen outputDirectory="${src.dir}"
wsdl="${wsdl.dir}" package="com.lamp.ws.client" overwrite="true"/>

</target>

</project>
[xml] view plainprint?
<?xml version="1.0" encoding="UTF-8"?>

<project name="WebService" basedir="." default="gen-webservice">

<property file="build.properties">
</property>

<path id="project-classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar" />
</fileset>
</path>

<target name="gen-webservice">
<taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask" classpathref="project-classpath" />

<wsgen outputDirectory="${src.dir}"
wsdl="${wsdl.dir}" package="com.lamp.ws.client" overwrite="true"/>

</target>

</project>

『陸』 java語言使用post方式調用webService方式

WebService可以有Get、Post、Soap、Document四種方式調用,以下Java通過方式調用WebService代碼:

importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStream;
importjava.io.InputStreamReader;
importjava.io.OutputStream;
importjava.io.OutputStreamWriter;
importjava.net.URL;
importjava.net.URLConnection;
importjava.net.URLEncoder;
importorg.apache.cxf.endpoint.Client;
importorg.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;
/**
*功能描述:WebService調用
*
*/
publicclassClientTest{
/**
*功能描述:HTTP-POST
*
*/
publicStringpost(){
OutputStreamWriterout=null;
StringBuildersTotalString=newStringBuilder();
try{
URLurlTemp=newURL(
"http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity");
URLConnectionconnection=urlTemp.openConnection();
connection.setDoOutput(true);
out=newOutputStreamWriter(connection.getOutputStream(),"UTF-8");
StringBuffersb=newStringBuffer();
sb.append("byProvinceName=福建");
out.write(sb.toString());
out.flush();
StringsCurrentLine;
sCurrentLine="";
InputStreaml_urlStream;
l_urlStream=connection.getInputStream();//請求
BufferedReaderl_reader=newBufferedReader(newInputStreamReader(
l_urlStream));
while((sCurrentLine=l_reader.readLine())!=null){
sTotalString.append(sCurrentLine);
}
}catch(Exceptione){
e.printStackTrace();
}finally{
if(null!=out){
try{
out.close();
}catch(IOExceptione){
e.printStackTrace();
}
}
}
returnsTotalString.toString();
}
}

『柒』 請問java項目 里的DAO,model,service, IMPL 是什麼意思,以及有什麼關系

在一般工程中 基本上都會出現上述的字眼
首先 DAO 提供了應用程序與資料庫之間的操作規范 和操作 用於通常資料庫的增刪查改 一般如果使用框架 都是由框架自動生成,提高訪問效率和便於快速開發。hibernate的DAO中 提供了關於事物 數據讀取 修改 刪除 添加 這些邏輯 還依賴於下面提到的Model
Model 為了便於理解業務和代碼可讀 美觀 通常將資料庫表 作為對象封裝,對象封裝中提供屬性 一般操作DAO類的時候 傳入的是Model 通過 hibernate的映射文件 映射到資料庫欄位也就是通常說的 通過實體類操作資料庫
IMPL 以IMPL 結尾的類 一般是實現了某個或多個介面的類 這些類的介面 是定義了一些規范的類通常是數據訪問等等 在service 中 會通過spring的注入 注入這些介面來實現邏輯
service 一般在service的實現類 會出現在action中。這些service 提供了包含邏輯的數據訪問
舉個例子 在 項目中需要將查詢出來的所有數據的某個值加1 那麼 在service 中 就會做一次循環 從查詢出來的Model 集合中 將值取出來 +1
它們的協作關系如下
web頁面--->Action---->service---->interface---->IMPL---->DAO---->DATABASE

『捌』 如何使用java做webservice

基於AXIS的web service: 1 比如要建一個Server.java類的web service public class Server { public String printInfo(String name){ return "Hello,"+name; } } 2 把Server.java改為Server.Jws放到 …\Tomcat 5.5\webapps\axis中,重啟伺服器 3 訪問 4 在cmd中輸入 cd D:\Program Files\Apache Software Foundation\Tomcat 5.5\webapps\axis\WEB-INF 輸入命令:Java -Djava.ext.dirs=lib org.apache.axis.wsdl.WSDL2Java 5 找到…\Tomcat 5.5\webapps\axis\WEB-INF下生成的localhost文件夾復制到工程中 6 建一個Client端的類進行測試: public class Client { public static void main(String arg[]) throws ServiceException, RemoteException{ ServerService ss=new ServerServiceLocator(); Server s=ss.getServer(); System.out.println("............"+s.printInfo("shiyou")); } } 藍屏

『玖』 Java涓璼ervice鍜宻erver鏈変粈涔堝尯鍒錛

涓鑸鏉ヨ, 鎴戜滑浼氬逛竴涓瀹屾暣鐨凧ava鏈嶅姟鍋氫竴浜涙灦鏋勫垏鍒, Server涓昏佹寚鐨勬槸鏈嶅姟鏈韜, 涓鑸鍙鑳芥槸Springboot鏋舵瀯鐨勫惎鍔ㄧ被, 鑰宑ontroller, service, 絳夋槸浣滀負浠g爜鐨勭粨鏋勬媶鍒, 涓鑸鏉ヨ磗ervice鏄鐢ㄦ潵鎻忚堪澶勭悊鏍稿績涓氬姟閫昏緫鐨勭浉鍏充唬鐮佺被, controller鏄鐢ㄦ潵浣滀負瀵瑰栨毚闇茬殑鎺ュ彛綾.

『拾』 java中 類中的類怎麼調用service

如果方法使static修飾的。直接:返回值(如果需要)=對象.方法(參數); 如果方法沒有使static修飾的。直接:返回值(如果需要)=new 類().方法(參數);

閱讀全文

與java根據實體得到service相關的資料

熱點內容
數控編程怎麼開直角三角形 瀏覽:100
文件全名是什麼 瀏覽:788
種子文件都是什麼格式 瀏覽:20
百度雲linux版安裝包 瀏覽:442
ios12越獄插件文件夾路徑 瀏覽:717
把word重名文件替換了怎麼恢復 瀏覽:746
海爾a61筆記本bios清除密碼 瀏覽:953
獲取url參數js 瀏覽:862
linuxctrla 瀏覽:778
浪潮大數據一體機 瀏覽:487
qt識別當前所打開的文件夾路徑 瀏覽:320
iphone6plus日版港版 瀏覽:280
蘋果主屏移除的app在哪裡找 瀏覽:908
一般寄文件的快遞要多少錢 瀏覽:528
大數據是具有 瀏覽:871
廢紙箱文件夾 瀏覽:450
win10更新後c盤不足怎麼辦 瀏覽:402
excel重裝系統後打不開文件 瀏覽:981
報價文件包括的內容 瀏覽:627
手機設備添加列印文件格式 瀏覽:241

友情鏈接