Spring框架总结(2)

XML配置续&annotation注解

  1. SpringBoot:分布式微框架,把一个大项目分解成若干小项目,远程相互调用
  2. 命名空间:namespaces(在applicationContext.xml页面左下角  ,勾选响应的命名空间即可使用)
  3. Util Schema:这个命名空间包含了一些定义集合对象的标记
    1. util:list 标签(一个 list 供多个对象复用)
    2. util:map 等
  4. p 命名空间:简化注入属性操作
  5. 自动装配:autowire 开关
    1. 根据type:匹配唯一的一个,多了报错(不过日常开发时不常见多个同类型)
    2. 根据name
    3. 所有bean都自动装配:在beans里打开如图开关,设置default为byType 或 byName
  6. scope:代表作用域,共有四个值
    1. singleton:单例(仅创建一个对象;可同时指定lazy-init属性,true为getbean时创建,默认false为创建工厂时创建)
    2. prototype:原型(每次创建一个新对象)
    3. request:一次请求内仅创建一个对象
    4. session:一次会话期间仅创建一个对象
    5. 常用singleton:无状态bean,无需创建多个对象
  7. context:placeholder:可以加载属性文件信息
  8. SpEL
    1. spring的表达式语言
    2. 作用:可以在配置文件中通过在value中使用 #{ } 给属性动态注入数值
    3. 通过SpEL可以访问其他对象的属性,方法及静态方法;同时还可以使用三目运算符和正则表达式
    4. 题外话:Math取整方法
      1. //取整,floor截断后面的浮点数,输出为2 System.out.println(Math.floor(2.5));
      2. //ceil,截断后面的浮点数后+1,输出为3 System.out.println(Math.ceil(2.1));
      3. //round四舍五入 System.out.println(Math.round(2.36));
  9. Spring(IOC)容器创建 bean 的生命周期
    1. 实例化
    2. 注入属性值(setXxx方法)
    3. init() 可配置
    4. 使用
    5. destroy() 可配置,prototype 无此过程
  10. 利用工厂创建产品
    1. 不是工厂模式来创建对象也可用上图的方法
      1. 只要用静态方法创建对象即可用上图中简单工厂的方法
      2. 只要用对象的普通方法即可用上图中工厂方法的方法
      3. 只要用new直接创建对象即可直接用<bean id="" class=""> <property> 的方法
  11. Spring 支持的配置方式
    1. xml(以上所述都是xml)
    2. annotation
    3. java 配置(spring4)
  12. 使用 annotation 方式定义一个 bean 可以使用以下四种类型
    1. @Component
    2. @Repository(dao)
    3. @Service(业务层,service)
    4. @Controller(控制层,controller)
    5. 这四个类型的 Annotation 的作用完全一样,只是语义不同;
    6. 如果使用 Annotation 方法定义 bean,还需对 bean 进行扫描
      1. context:component-scan 标记:
        1. 扫描dao包里(包括其子包下)的所有类:<context:component-scan base-package="com.oracle.dao"></context:component-scan>
      2. 若需指定多个包,用 " , " 分隔开
      3. 若不想扫描子包,设参数 resource-pattern="*.class"
      4. 标记中还可使用两个子标记进行过滤:type一般为注解,expression直接复制使用该注解时所导的包名
        1. include-filter 只包含
        2. exclude-filter 排除
        3. include 需设置父标记参数 use-default-filter 为 false,否则不起作用
  13. Spring注入属性的注解
    1. @Autowired:可以自动注入;先根据 byType,若有多个同类型 bean 则根据 byName 进行装配;此注解是Spring提供的注解
    2. @Resource
    3. @Inject

猜你喜欢

转载自blog.csdn.net/addkai/article/details/81192742
今日推荐