在weld + jersey + JavaSE中绑定单例bean的方法如下:
import javax.inject.Singleton;
@Singleton
public class SingletonBean {
// 单例bean的实现代码
}
import org.glassfish.jersey.server.ResourceConfig;
import org.jboss.weld.environment.se.Weld;
import org.jboss.weld.environment.se.WeldContainer;
public class Application extends ResourceConfig {
private WeldContainer container;
public Application() {
// 初始化weld容器
Weld weld = new Weld();
container = weld.initialize();
// 绑定单例bean
SingletonBean singletonBean = container.select(SingletonBean.class).get();
register(singletonBean);
}
}
import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.servlet.ServletContainer;
import org.jboss.weld.environment.se.Weld;
import org.jboss.weld.environment.se.WeldContainer;
public class Application extends ResourceConfig {
private WeldContainer container;
public Application() {
// 初始化weld容器
Weld weld = new Weld();
container = weld.initialize();
// 绑定单例bean
SingletonBean singletonBean = container.select(SingletonBean.class).get();
register(singletonBean);
// 配置jersey服务器
packages("your.package.name"); // 设置jersey扫描的包路径
// 启动jersey服务器
ServletContainer servletContainer = new ServletContainer(this);
ServletHolder servletHolder = new ServletHolder(servletContainer);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
context.addServlet(servletHolder, "/*");
Server server = new Server(8080); // 设置服务器端口号
server.setHandler(context);
server.start();
server.join();
}
}
以上就是在weld + jersey + JavaSE中绑定单例bean的方法。通过使用weld容器的@Singleton
注解和jersey的register()
方法,可以将单例bean绑定到应用程序中,并且可以通过jersey服务器进行访问和调用。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云