我正在運行Restful web服務作爲使用Jersey的獨立應用程序。Jersey + Spring獨立web服務@Autowire不工作
下面是我服務的請求的服務類。
LoginServiceImpl.java
@Component
public class LoginServiceImpl implements LoginService {
@Value("${login.service.defaultmessage}")
private String defaultMessage;
@Autowired
private EmLoginDAO emLoginDAO;
@Override
public String defaultCall() {
return defaultMessage;
}
@Override
public String updatePassword(List<Login> userList) {
System.out.println(emLoginDAO + "\n" + userList);
emLoginDAO.save(userList);
return "Passwords Updated...";
}
@Override
public List<Login> getPasswords() {
System.out.println("OBJECT: " + emLoginDAO);
List<Login> userList = null;
userList = emLoginDAO.findAll();
return userList;
}
}
LoginService.java
@Component
@Path("/user")
public interface LoginService {
@GET
public String defaultCall();
@POST
@Path(value = "/print")
@Consumes(MediaType.APPLICATION_XML)
@Produces(MediaType.TEXT_PLAIN)
public String updatePassword(List<Login> userList);
@GET
@Path(value = "/getpassword")
@Produces(MediaType.APPLICATION_XML)
public List<Login> getPasswords();
}
下面是我的Spring配置文件。
<context:component-scan base-package="com.em.login" />
<context:annotation-config />
啓動服務後,當我調用各自的方法調用。
但我的默認消息和emLoginDAO對象爲空。所以它不是指屬性和彈簧配置文件。
所以任何人都可以幫助我得到這個正確的。或者找到一種方法來設置Jersey的屬性和彈簧配置文件路徑。
更新
Closeable server = null;
try {
DefaultResourceConfig resourceConfig = new DefaultResourceConfig(
LoginServiceImpl.class);
resourceConfig.getContainerResponseFilters().add(
new GZIPContentEncodingFilter());
server = SimpleServerFactory.create(serviceurl,
resourceConfig);
System.in.read();
} catch (IOException e) {
} finally {
if (server != null) {
try {
server.close();
} catch (IOException ex) {
}
}
}
你如何發佈你的服務? –
我已經用代碼更新了任務。請檢查。 –