如何在系統啓動時加載某些東西?我的程序啓動時沒有「main」!Jersey構造函數
0
A
回答
3
您可以使用在Application#getSingletons()
中定義的單例對象。
public class MyApp extends Application
{
public Set<Class<?>> getClasses()
{
return null;
}
public Set<Object> getSingletons()
{
Set<Object> set = new HashSet<Object>();
Foo foo = /* init foo somehow */;
set.add(foo);
return set;
}
}
從RESTful Java(如果你有這本書,見第142頁):
的
getSingletons()
方法返回的預分配的JAX-RS Web服務和@Provider
-annotated類的列表。作爲應用程序員,您負責創建這些對象。 JAX-RS運行時將迭代對象列表並在內部註冊它們。當這些對象被註冊時,JAX-RS也將注入@Context
註釋字段和setter方法的值。
1
一般來說,球衣是由maven構建的。所以,當你執行maven命令時,會生成一個已初始化的項目。
mvn archetype:generate -DarchetypeArtifactId=jersey-quickstart-grizzly2 \
-DarchetypeGroupId=org.glassfish.jersey.archetypes -DinteractiveMode=false \
-DgroupId=com.example -DartifactId=simple-service -Dpackage=com.example \
-DarchetypeVersion=2.4.1
更多信息請訪問: https://jersey.java.net/documentation/latest/index.html
0
你可以寫一個實現了ServletContextListener類。
public class MyContextListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) {
//stuff that happens when server is started
}
@Override
public void contextDestroyed(ServletContextEvent event) {
//stuff that happens when server is turned off
}
}
然後,您只需將此添加到您的web.xml文件中作爲web應用程序元素的子項。
<listener>
<listener-class>com.mypackage.MyContextListener</listener-class>
</listener>
相關問題
- 1. 構造函數內的構造函數
- 2. 混合Guice構造函數注入和Jersey @Context
- 3. Jersey Singleton使用Spring:方法不能轉換爲構造函數
- 4. 構造函數
- 5. 構造函數中的調用基構造函數和其他構造函數
- 6. C++ - 構造函數,複製構造函數,移動構造函數,析構函數
- 7. 沒有參數的構造函數或參數構造函數
- 8. 無參數構造函數調用2參數構造函數
- 9. 構造函數和析構函數
- 10. 構造函數和析構函數 - C++
- 11. C++類構造函數/析構函數
- 12. 析構函數和構造函數
- 13. 重載構造映射構造函數
- 14. 構造函數在JavaScript中的構造?
- 15. NullPointerException構造函數
- 16. 構造函數InterstitialAd
- 17. 構造函數GetInfo
- 18. Java構造函數?
- 19. 用構造函數
- 20. 卡構造函數
- 21. Java構造函數
- 22. ArrayList構造函數
- 23. Codewars構造函數
- 24. 構造函數鏈
- 25. Overloadding構造函數
- 26. PHP構造函數
- 27. 多構造函數
- 28. DispatcherTimer構造函數
- 29. JavaScript構造函數
- 30. Javascript函數構造