maven链接接口

来源:互联网 发布:淘宝广告报价 编辑:程序博客网 时间:2024/06/14 14:38

package com.danze.core.repo;

import java.util.List;

import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
import org.springframework.transaction.annotation.Transactional;
@RestController
@RequestMapping(“/login”)
public class LoginUser {
@Autowired //对UserReposity接口进行一个自动注入
private UserRepository useDao;
@RequestMapping(“/isexits”)
public boolean isExits(String loginName,String password){
boolean flag = false;
User user = useDao.findByLoginNameAndPassword(loginName, password);
if(user!=null){
flag =true;
}
return flag;
}
}
刚刚接触什么maven说真的不是很懂,主要是对于庞大的项目不知道是怎么调用的了。下面还是说点例子的引用吧
spring的自动装配
@Autowired可以对成员变量、方法和构造函数进行标注,来完成自动装配的工作,这里必须明确:@Autowired是根据类型进行自动装配的,如果需要按名称进行装配,则需要配合@Qualifier[1] 使用;
@Autowired标注可以放在成员变量上,也可以放在成员变量的set方法上。前者,Spring会直接将UserDao类型的唯一一个bean赋值给userDao这个成员变量;后者,Spring会调用setUserDao方法来将UserDao类型的唯一一个bean装配到userDao这个属性。
通过 @Autowired的使用来消除 set ,get方法。
@RestController是spring4的新特性
通过新的@RestController指定在控制器上,这样就不需要在每个@RequestMapping方法上加 @ResponseBody了

1、@RestController
@RestController
public class UserController {
private UserService userService;
@Autowired
public UserController(UserService userService) {
this.userService = userService;
}
@RequestMapping(“/test”)
public User view() {
User user = new User();
user.setId(1L);
user.setName(“haha”);
return user;
}

@RequestMapping("/test2")  public String view2() {      return "{\"id\" : 1}";  }  

}
其实现就是在@@RestController中加入@ResponseBody:
@org.springframework.stereotype.Controller
@org.springframework.web.bind.annotation.ResponseBody
public @interface RestController {
}
2、mvc:annotation-driven配置变化
统一风格;将 enableMatrixVariables改为enable-matrix-variables属性;将ignoreDefaultModelOnRedirect改为ignore-default-model-on-redirect。

3、提供AsyncRestTemplate用于客户端非阻塞异步支持。
3.1、服务器端
对于服务器端的springmvc开发可以参考https://github.com/zhangkaitao/servlet3-showcase中的chapter3-springmvc
@RestController
public class UserController {
private UserService userService;
@Autowired
public UserController(UserService userService) {
this.userService = userService;
}
@RequestMapping(“/api”)
public Callable api() {
System.out.println(“=====hello”);
return new Callable() {
@Override
public User call() throws Exception {
Thread.sleep(10L * 1000); //暂停两秒
User user = new User();
user.setId(1L);
user.setName(“haha”);
return user;
}
};
}
}
非常简单,服务器端暂停10秒再返回结果(但是服务器也是非阻塞的)。具体参考我github上的代码。

3.2、客户端
public static void main(String[] args) {
AsyncRestTemplate template = new AsyncRestTemplate();
//调用完后立即返回(没有阻塞)
ListenableFuture

0 0
原创粉丝点击