zoukankan      html  css  js  c++  java
  • 《Spring in action》之高级装配

    1.Spring 通过配置profile bean、激活profile来设置对应环境。
    配置profile bean:
    可通过@Profile("dev")注解进行配置、也可以通过xml配置。
    激活profile:方法有很多
    常用:作为DispatcherServlet初始化参数,例如在web.xml中的<context-param>中配置
     
    2.处理自动装配的歧义性
    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = PhoneConfig.class)
    public class PhoneTest {
        
        @Autowired
        @Qualifier("huawei")
        private Phone phone;
    
        @Test
        public void checkPhone(){
            phone.speak();
            Assert.assertNotNull(phone);
        }
    }
    

      

    当phone接口有多个实现时只用 @Autowired是有问题的还需要使用限定符 @Qualifier("huawei")、“huawei“这个是bean的id。
    3.Bean的作用域
    单例(Singleton):整个应用一个实例
    原型(Prototype):每次注入或通过上下文获取时创建一个新的实例
    会话(Session):为每个会话创建一个实例
    请求(Request):为每个请求创建一个实例
     
    组件扫描中:@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
    @Component
    @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
    public class Apple implements Phone{
        @Override
        public void speak() {
            System.out.println("apple speak");
        }
    }
    

      

    xml配置:scope="prototype"
    <bean id="playUtil" class="com.spring.aop.PlayUtil" scope="prototype"/>
    

    使用会话和请求作用域很适合购物车场景、购物车bean应该是1个会话一个

  • 相关阅读:
    MySQL 82 张图带你飞
    Docker一个优秀的应用容器
    大数据架构基础知识
    浏览器复杂吗
    5 分钟学懂 SSH 隧道技术
    图解数据分析如何驱动决策
    3D可视化管理推进能源革命
    一文全面解读B端产品和C端产品的差异
    智慧农业解决方案
    Win10删除右键多余选项菜单
  • 原文地址:https://www.cnblogs.com/monkjavaer/p/9715886.html
Copyright © 2011-2022 走看看