Spring 基本的注解
1、@Controller,做前端请求处理的类,使用SpringMVC,能够提供HTTP服务的请求处理/响应
2、@Service,业务处理的类
3、@Component,宽泛的概念,一般指组件
4、@Repository,一般数据操作的类;
5、@RequestMapping进行url的设置,请求方法的设置等等
这里我可以指定post方法,例如@RequestMapping(value="/login",method={RequestMethod.POST})
6、@RequestBody进行对应数据类型的响应,默认Content-Type:application/json
7、@ResponseBody的作用其实是将java对象转为json格式的数据。
1. @RequestMapping("login.do")
@ResponseBody
2. public Object login(String name, String password, HttpSession session) {
3. user = userService.checkLogin(name, password);
4. session.setAttribute("user", user);
5. return new JsonResult(user);
6. }
正常情况下一般 return "/login.html"的静态页面,由于返回的是一个对象,所以上面的代码咱们使用了@ResponseBody将其转化为json格式的数据
特殊的例如返回一个重定向
return “redirect:/user/login”;
8、@ControllerAdvice @Configuration
@ControllerAdvice
@Configuration
public class ControllerInterceptor{
//如果有异常,就会抛异常
@ExceptionHandler(Exception.class)
@ResponseBody
public Duck handle(){
return new Duck("异常鸭子",123);
}
}
SpringMVC的基本流程
1、客户端发送请求到DispatcherServlet
2、通过HandlerMapping寻找处理请求的Controller
3、Controller调用业务逻辑后,ModelAndView指定视图
Mybatis在Springboot
1、ArticleMapper文件下(@Mapper),
int insert(Article record)传入的参数可以转变为sql语句的占位符替换掉;
Article selectByPrimaryKey(Long id)返回将结果集转变为对象映射回来;
parameterType传入参数的映射,例如frank.model.Article类
2、xml文件中(ArticleMapper.xml),
通过namespace映射到我们的类,通过id映射到我们的类里面的方法(insert)
通过resultMap映射到我们的查询结果集。
resultType指定返回值
总结:
1、生成sqlSessionFactory,数据库连接会话工厂类,可以生成数据库会话
2、扫描包里边包含@Mapper
3、加载mapper的xml
4、关联xml文件、@Mapper代理类、实体类:
方法和sql建立映射关系,即通过mapper可以对应找到xml,
通过xml可以对应找到mapper