《Spring实战》摘录 - 5

in #ievolution6 years ago

19-02-06-c0.jpg

41

Q: 使用切面的两个好处
A:

  1. 首先,现在每个关注点都集中于一个地方,而不是分散到多处代码中;
  2. 其次,服务模块更简洁,因为它们只包含主要关注点(或核心功能)的代码,而次要关注点的代码被转移到切面中了

42

Q: Spring定义了多种作用域,可以基于这些作用域创建bean,包括:
A:

  1. 单例(Singleton):在整个应用中,只创建bean的一个实例。
  2. 原型(Prototype):每次注入或者通过Spring应用上下文获取的时候,都会创建一个新的bean实例。
  3. 会话(Session):在Web应用中,为每个会话创建一个bean实例。
  4. 请求(Rquest):在Web应用中,为每个请求创建一个bean实例。

43

Q: SpEL拥有很多特性,包括什么?
A:

  • 使用bean的ID来引用bean;
  • 调用方法和访问对象的属性;
  • 对值进行算术、关系和逻辑运算;
  • 正则表达式匹配; - 集合操作。

44

Q: xml中要解析外部属性需要用到的元素标签是什么
A: <context:property-placeholder />

45

Q:为了使用占位符,我们必须要配置一个 ? bean
A:

  1. PropertyPlaceholderConfigurer beanPropertySourcesPlaceholderConfigurer bean
  2. 从Spring 3.1开始,推荐使用PropertySourcesPlaceholderConfigurer,因为它能够基于Spring Environment及其属性源来解析占位符。

46

Q: Spring在xml中如何使用占位符
A: 使用“${ ... }”包装的属性名称

47

Q: 为了使用元素,必须在XML配置中声明什么命名空间:
A:

  1. AOP
  2. xmlns:aop="http://www.springframework.org/schema/aop"

48

Q: 在xml的bean模式中,如何指定代理模式
A: 要设置代理模式,我们需要使用Spring aop命名空间的一个新元素:

<bean id="cart" class="com.myapp.ShoppingCart" scope="session"> 
    <aop:scoped-proxy />
</bean> 

<aop:scoped-proxy>是与@Scope注解的proxyMode属性功能相同的Spring XML配置元素。它会告诉Spring为bean创建一个作用域代理。

49

Q: 什么是代理模式
A:

  1. 代理 (Proxy) 是一种设计模式, 提供了对目标对象另外的访问方式; 即通过代理对象访问目标对象.
  2. 这样做的好处是: 可以在目标对象实现的基础上, 增强额外的功能操作, 即扩展目标对象的功能.
  3. 这里使用到编程中的一个思想: 不要随意去修改别人已经写好的代码或者方法, 如果需改修改, 可以通过代理的方式来扩展该方法
  4. https://www.cnblogs.com/qlqwjy/p/7550609.html

50

Q: Spring中如果bean类型是具体类的话,proxyMode属性该如何设置
A: 必须将proxyMode设置为ScopedProxyMode.TARGET_CLASS,以此来表明要以生成目标类扩展的方式创建代理。

Coin Marketplace

STEEM 0.14
TRX 0.23
JST 0.031
BTC 83278.04
ETH 2055.98
USDT 1.00
SBD 0.63