mybatis和spring的xml基本配置


mybatis

导入依赖环境


     org.mybatis
      mybatis
       3.5.7

配置xml文件

<?xml version="1.0" encoding="UTF-8" ?>


  
    
      
      
        
        
        
        
      
    
  
<--每一个mapper.xml都要配置一个mapper-->
    
    
  

创建mapper的xml

<?xml version="1.0" encoding="UTF-8" ?>

<-- namespace 是之那个对象 class
    id 是获取这个mapper的名字,唯一名
    resultType 是返回类型
    parementType 是参数类型-->

  

spring

  • 基础配置
<?xml version="1.0" encoding="UTF-8"?>

      
      
    

  • 导入其他xml

    
    
 
  • p标签的依赖注入
  • set注入
  • p的意思就是property


    

  • c标签的依赖注入
  • 这个是构造器注入

    
    
    
    
        
        
        
    

    
    


使用注解实现自动装配

  • jdk 1.5支持注解 spring 2.5支持注解

  • 配置注解支持 - 需要导入context约束 就是把beans复制粘贴,把beans改成context就行,改成aop就是aop约束

  • 开启注解支持

<?xml version="1.0" encoding="UTF-8"?>


    
    


  • @Autowired

  • 直接在属性上用即可,也可以用在set方法上

  • 如果定义了@Autowired(requires = flase)可以属性为null

  • autowried 默认先byType的方式实现,再按照byName方式寻找

  • @Autowired和@Qualifier(value = "beanId") 可以自己定义把这个bean装配到这个属性上

@Autowired
@Qualifier(value="beanId")
private Cat cat;
  • java原生注解 @Resource 可以达到一样的效果 @Resource(value= "beanId")
  • 先进行byName方式寻找,在根据byType寻找,不行就报错了

使用注解开发

  • 属性怎么注入
  • 衍生注解
  • 自动装配
  • 作用域
  • 小结

注解开发必须导入aop包
必须导入context约束,增加注解支持
一般导入spring-webmvc就导入了

  • 开启注解支持

  • 扫描这个包下面注解

  • 注解

//@Component 组件,放在class类上面就代表这个class被spring托管了
//等价于 
//这个注解的id就是这个class的小写
@Component
@Scope("prototypr")//模式,原型模式
public class User{
    @Value("hjk")//属性注入值 等价于
    private String name;
}
  • 也可以写在set方法上
@Component
public class User{
    private String name;
        @Value("hjk")//属性注入值 等价于
    public void setName(String name){
        this.name = name;
    }
}
  • @Component在web开发中根据mvc不同层级有不同的注解 ,都需要扫描包
  • @Repository
  • @Service
  • @Controller

这四个注解是一样的,只是在不同的层级有不同的名字罢了。

  • xml更加万能,维护比较方便
  • 注解 不是自己的类用不了,维护比较复杂
  • 最佳实践,xml用来管理bean,注解完成属性的注入
  • bean就是一个个bean,注解添加属性
  • 我们在使用的过程中,必须让注解生效,开启注解支持
  • 扫描包,开启注解支持