Spring使用JavaConfig实现配置+代理模式

JavaConfig

  1. 让Spring项目全权交给Java来做,拜托了xml配置文件
  2. JavaConfig是Spring的子项目,Spring4之后,成为了一个核心功能

环境搭建

  1. 创建新模块,选择Spring
  2. 创建文件夹config,配置UserBean
package com.bkms.config;

import com.bkms.pojo.User;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration//该注释修饰的也会交由Spring容器托管,因为该容器本身也是@Component
//@Configuration也是配置类,和beans.xml是一样的
@Import(MyConfig2.class)//导入MyConfig2的bean
public class MyConfig {
   
	//@Bean注解就相当于在xml文件中的bean标签
	//方法的名字就相当于bean标签中的id属性
	//方法中的返回值就相当于bean标签中的class属性
    @Bean
    public User getUserInstance(){
   
        return new User();//就是返回要注入到bean的对象
    }
}
  1. 测试代码
import com.bkms.config.MyConfig;
import com.bkms.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class MyTest {
   
    public static void main(String[] args) {
   
        ApplicationContext context = new AnnotationConfigApplicationContext(MyConfig.class);
        User userInstance = (User) context.getBean("getUserInstance");
        System.out.println(userInstance.getName());//null
    }
}
  1. 这种JavaConfig配置方式在SpringBoot中随处可见

代理模式

  1. SpringAOP的底层
  2. SpringAOP和SpringMVC是很重要的知识点
  3. 分为静态代理和动态代理

静态代理模式

角色分析(以租房举例)

  1. 抽象角色(租房这个行为,用接口表示)
  2. 真实角色(就是房东)
  3. 代理角色(就是中介)
  4. 客户(就是要租房的人)

使用代理模式的好处

  1. 使真实角色操作更加纯粹,不用关注多余的业务
  2. 实现了业务的分工
  3. 公共业务需要扩展的时候,方便集中管理

使用代理模式的缺点

  1. 一个真是角色对应一个代理角色,真实角色多的话,代理角色会翻倍
public interface Rent {
   
    public void rent();
}
public class Host implements Rent {
   
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

muskfans

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值