SSM框架复习

SSM复习要点

Spring

Spring是一个管理Bean的容器

三个重要概念:IOC,DI,AOP

bean标签的作用及特点

这个对象在Spring容器加载时即创建该对象

默认是单例的,可以修改scope属性修改为非单例scope="prototype"

class是必须指定的,id不是

Autowired注解的作用

可以注入一个对象,默认是按照类型匹配,所以要求实现类只能有一个,如果有多个需要使用@Qulifier

public class GuanYu{
    @Autowired
    @Qulifier("test2") // 指定test2作为装配对象
    private Weapon weapon;
}
@Component("test1")
public class QingLong implements Weapon {
    private int dps;
    public void setDps(int dps) {
        this.dps = dps;
    }
    public int getDps() {
        return dps;
    }
    public void showInfo() {
        System.out.println("青龙偃月,攻击力很高");
    }
}
@Component("test2")
public class Fang implements Weapon {
    private int dps;
    public void setDps(int dps) {
        this.dps = dps;
    }
    public int getDps() {
        return dps;
    }
    public void showInfo() {
        System.out.println("方天画戟,攻击力很高");
    }
}

依赖注入DI的方式有几种

  • 构造器注入

     
         
         
        
         
             关羽
         
         
             
         
    
    
    
  • setter注入

     
        
        
        
        
            关羽
        
        
            
        
    
    
    
  • 接口注入(Spring不支持)
AOP面向切面编程

其中使用了代理模式

提供了一些注解,如@Before,@Around,@AfterThrowing等

    
        
        
    

    
        
            
            
            
            
        
    

    
        
        
        
    

Mybatis

mybatis是一个持久层框架

别名设置


    
    
    
    

log4j日志,默认的输出级别是DEBUG

表与表之间的关系

  • 一对一
  • 多对一
  • 多对多

在mapper文件中,常见的标签select,insert,where,if,set,update,delete,sql,include等,没有group标签



    /*
        keyProperty="empno" 主键列
        mysql order=before oracle order=after
    */
    insert into emp(empno,ename,deptno,job) values(#{empno},#{ename},#{deptno},#{job})
    

mapper文件中namespace对应接口


mapper文件中#{}和${}的区别

  • #{}会被解析成?,然后使用数据绑定,${}是直接把数据拼在SQL中
  • #{}有单引号,${}没有

mapper文件中resultType和resultMap的区别

  • resultType表示SQL的返回值类型,会把查询结果直接绑定在该类型的同名属性上

        
    
    public class Emp{
        private int empno;
        private double sal;
        ...
    }
    
  • resultMap表示SQL返回的map映射,需要一一设置对应属性

        
    
        
            
            
        
    
    public class Emp{
        private int a;
        private double b;
    }
    

SpringMVC

SpringMVC中有个负责处理HTTP请求和响应的DispatcherServlet,它叫中央控制器(前端控制器),在web中配置映射

  
  
    springDispatcherServlet
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:springmvc.xml
    
    1
  
  
    springDispatcherServlet
    /
  

SpringMVC处理器方法需要返回数据需要添加注解:@ResponseBody

SpringMVC中,ModelAndView可以保存数据并完成转发,但不能获取数据

@RequestMapping({"/user/add","/user/insert"})映射多个请求

参数绑定时不能直接绑定java.util.Date类型

处理器方法是用String类型作为返回值,使用forward进行转发,使用redirect进行重定向

RESTFUL风格的URL如何获取参数

@Controller
public class TestController{
    @RequestMapping("/user/{id}")
    public void getInfo(@PathVariable("id") int uid){
        
    }
}

你可能感兴趣的:(SSM框架复习)