• 《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个会话一个

  • 相关阅读:
    java加密算法-MD5
    java加密算法-DES
    java加密算法-AES
    java写入内容到本地文件 -读取文件内容
    java 图片base64互转
    java上传文件
    判断请求是否是同一个域名
    java计算两个经纬度之间的距离
    java请求url可以带参数
    Java编程基础篇第五章
  • 原文地址:https://www.cnblogs.com/monkjavaer/p/9715886.html
Copyright © 2020-2023  润新知