Spring第二天

 1.创建对象的三种方式

  用构造器

  静态类工厂:通过类的静态方法返回对象

  实列工厂:通过类对象的普通方法返回对象

2.给对象赋值的三种方式

  用对象的构造方法:可以通过name,index ,type 定位到对应的属性

  用set方法  p 命名空间方法

  注解的方式

   基本数据类型用 Value 

    引用数据类型用AutoWire (Spring的注解)

    或者Resource(jdk自带)

    注意给引用数据类型赋值一定要有该实例对象

  复杂属性的注入:

  数组:<array> <value></value> .......</array>

  list 集合<list>  <value></value>  ..... </list>

  map集合 <map>   <entry>   <key> <value>键</value></key> <value>值</value></entry>.........</map>或者  <map><entry key=" " value="">  </entry>......</map>

  set集合<set>    <value>   </value> ......          </set>

  Properties: <props><prop key=""> value值</prop>......<props>

3.用注解方式创建bean对象

  先把nameSpcces 中的context勾选上

  开始注解扫描

  <context:component-scan base-package="com.ujiuye"></context:component-scan>

  在需要创建的对象上添加@Component 注解 (默认id为 类名的小写)可以通过(value =“”)修改

4.几个常用的注解

  @Controller 表示该对象是视图层(web层)

  @Service 表示该类是业务逻辑层(Service层)

  @Repository 表示该类是持久层(Dao)层

  @Component 表示该类就是Spring容器的一个普通组件

5.加载properties文件

  在xml配置

   <context:property-placeholder location="classpath:proprites的文件名"></context:property-placeholder>

    然后可以用el表达式获取属性值

6.SpringAop(重点)

      AOP  全称:Aspect Oriented programming  面向切面编程

      OOP   全称:Object Oriented programming 面向对象编程

      定义:Aop 与oop相互促进,相互补充,在oop原有代码不变的情况下,对原有的类功能进行拓展

      解决了软件工厂中关注点分离的问题,实现了不同部分解决不同的问题

      底层实现:cglib代理+jdk动态代理

      具体应用:日志的处理、声明式事务、缓存、全局异常处理

      Aop几个重要概念

      通知:被拓展的功能(本质:方法)

      切面:通知所在的类(本质:类)

      切入点:指定对谁进行切入(表达式)

      连接点:通知和目标方法的交点

      目标对象:要拓展的对象

      织入:将通知应用到目标方法的过程

  具体实现:

    1.写接口

    2.实现接口

    3.写切面

    4.配置xml文件(开启注解扫描、开启基于注解的切面支持)

    5.给类添加注解

    6.在方法上配置切入点(切入点位置(value="execution(权限修饰符 返回值类型 目标方法全类名 (参数))")

    7.实现:注意反射的类是目标对象的接口,而不是实现类

    

      

  

Properties

猜你喜欢

转载自www.cnblogs.com/sunners/p/12057136.html