第⼆⼗六章 玩转Spring5.X Xml配置转换到注解配置

1集 论Spring使⽤⽅式之XML和注解的优缺点

简介:讲解Spring使⽤xml和注解的优缺点 

  • spring的使⽤⽅式有两种 xml配置和注解 
    • 有些公司只⽤其中⼀种,也有公司 xml 配置与注解配置⼀起使⽤
  • 注解的优势:配置简单,维护⽅便 
  • xml 的优势:单修改 xml 时不⽤改源码,不⽤重新编译和部署
  • 结论: 看团队开发规范进⾏选择,没有强调⼀定⽤哪个 更多的是 xml+ 注解配合使⽤,⽐如 spring整合mybatis

2集 实战Spring5.X的注解配置项⽬ 

简介:讲解spring的使⽤注解配置项⽬ 

  • 开启注解配置和包扫描 
**
 * 使用Spring注解开发
 */
public class AnnotationMain {
    public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();

        //扫描bean包,包括子包 xj.com下所有包
        context.scan("xj.com");

        //完成xj.com包下的初始化操作,核心方法
        context.refresh();
        //类的方法小写
        Video video = (Video)context.getBean(Video.class);
        video.init();


    }
}

Sprig配置:使用第三方bean

/**
 * 创建一个第三方bean
 */
@Configuration //配置一个Configuration配置beans
public class AppConfig {
    //配置一个bean,绑定Bean的初始化
    @Bean(initMethod = "init",destroyMethod = "destroy")
    public Video video(){
        return new Video();
    }

}

3集 实战Spring5.X的常⽤注解和xml对⽐《上》

  • 常⽤注解
    • xml⽅式:
      • 注解⽅式:@Component 通⽤组件 细分: @Controller (⽤于web层) @Service (service) @Repository (⽤于dao仓库层)
    •  bean取名
      • xml ⽅式:通过 id 或者 name
      • 注解⽅式: @Component("XXXX")
    • bean注入  
      • xml ⽅式:通过
      • 注解⽅式:类型注⼊ @Autowired 名称注⼊ @Qualififier

4集 实战Spring5.X的常⽤注解和xml对⽐《下》 

  • bean⽣命周期
    • xml⽅式:init-methoddestroy-method
    • 注解⽅式: @PostConstruct 初始化、 @PreDestroy 销毁
使用Component注册Bean
@Component
@Scope //设置单例
public class Video {
    private Integer id;
    private String title;
    private String summary; //概述

    private String coverImg;
    private Integer price;
    private Date createTime;
    private Integer cId;
    private Double point;

    //实现实体类的初始化操作
    @PostConstruct
    public void init(){
        System.out.println("使用Bean的Init初始化方法");
    }
    //实现实体类的销毁操作
    @PreDestroy
    public void destroy(){
        System.out.println("video销毁方法");
    }
}

测试类:        

   public static void main(String[] args) {
        AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext();

        //扫描bean包,包括子包 xj.com下所有包
        context.scan("xj.com");

        //完成xj.com包下的初始化操作,核心方法
        context.refresh();
        //类的方法小写
        Video video = (Video)context.getBean(Video.class);
        video.init();

}

运行结果:执行两次初始化,是因为使用了  @PostConstruct注解,还有Video.init()调用了一次.l

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值