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
原文:https://www.cnblogs.com/sunners/p/12057136.html