Spring入门知识3
2017-10-28 本文已影响0人
MsterKerrigan
ioc的注解方式的实现
Spring的bean管理
注解:代码里面的一些特殊的标记,使用注解可以完成一些相关的功能@+注解的名称(属性名=属性值)
可以使用在类上面、方法上面和属性上面
注解开发的准备工作
1、导入基本的jar包
2、导入注解的aop的jar包
3、创建Spring的配置文件,引入约束
ioc的基本功能引入的是bean的约束
ioc注解的功能的话需要引入context的约束
4、开启注解的扫描
context:component-scan
base-package:要创建对象所在的类的包的名字
扫描多个包的时候可以在该属性这样写:xxx.xxx.xxx,xxx.xxx.xxx
也可以写这些包所在的上层包的名字:
到包里面扫描类、方法、属性上是否有注解
context:annotation-config
只会扫描属性上面的注解
使用注解创建对象
在创建对象的类的上面使用注解,类上边写注解
@Component(value="user")//相对于<bean id="user" class=""></bean>
创建对象有四个注解:
@Component
@Controller
@Service
@Repository
这四个注解都是创建对象的
在web层用controller
service层用service
目前这四个注解的使用方法都是一致的,目前的功能都是一样的,不影响使用
创建对象是一个单实例还是一个多实例?
@scope(value="")
value="singleton"单实例,默认的
value="prototype"多实例对象、action一般用这个来进行配置
使用注解注入属性
创建一个service类,创建一个dao类,在service里得到一个dao的对象
1、创建service和dao的对象
2、在service类里面定义一个dao的属性
3、在dao的属性上面使用注解进行注入
@Autowired:自动装配
根据类名找到这个类对应的对象,完成注入,跟dao上面注解的属性值没有关系
@Resource(name="userDao")
name属性值是通过注解创建的dao的对象的value值
需要指定调用的是哪个对象
配置文件和注解的混合使用
1、创建对象的操作都使用配置文件的方式
2、注入属性的操作一般使用注解的方式
Junit测试的错误找caused by那一行
aop
aop的概念
面向切面编程(面向方面编程)
扩展一个功能,不是通过修改源代码来实现
aop采用横向抽取机制,取代了传统的纵向继承体系重复性代码
aop底层原理(aop的基本操作)
底层使用动态代理的方式实现
aop操作的相关术语
joinpoint连接点:类里面可以被增强的方法,这些方法被称为连接点
Pointcut:切入点,在操作中只增强了部分方法,实际增强的方法称为切入点
Advice:通知/增强,实际增强的逻辑,比如要扩展一个日志的功能,这个日志的功能的逻辑就被称为增强
前置通知、在方法之前执行
后置通知、在方法之后执行
异常通知、方法出现异常执行
最终通知、在后置之后执行
环绕通知、在方法之前和之后执行
Aspect:切面
把增强应用到具体的方法上面,过程称为切面
把增强应用到切入点的过程
aop的操作
1、在Spring里面进行aop操作需要使用AspectJ实现
1、AspectJ不是Spring的一部分,和Spring一起使用进行aop的操作
2、Spring2.0以后增加了对AspectJ的支持
新版本的Spring建议使用AspectJ来开发aop
2、使用AspectJ实现aop有两种操作:
1、基于AspectJ的xml的配置
2、基于AspectJ的注解的方式来实现
aop操作的准备:
1、除了导入基本的jar包以外,还需要导入aop的jar包
2、创建一个Spring的核心的配置文件
导入aop的约束
基于AspectJ的xml的配置:
使用表达式配置切入点
1、切入点:实际增强的方法
2、常用的表达式
execution(<访问修饰符>?<返回类型><方法名>(<参数>)<异常>)
1、execution:
访问修饰符:*表示任意修饰符+空格+增强方法全路径.方法名(..)
execution(* com.spring.aop.Book.add(..))
2、对类中所有方法做增强
execution(* com.spring.aop.Book.*(..))
3、所有类中的所有方法都增强
execution(* *.*(..))
4、匹配所有save开头的方法,然后进行增强
execution(* save(..))
基于配置文件的配置进行增强:
1、创建两个类的对象
2、把对象创建之后在下面进行配置
1、配置切入点
2、配置切面
解决警告问题
log4j的介绍:(日志的工具)
1、通过log4j可以看到程序运行过程中更详细的信息
1、经常使用log4j查看日志
2、log4j的使用
1、导入log4j的jar包
2、复制log4j的配置文件
3、更改debug或者info查看不同级别的日志信息
info看到基本信息
debug看到更加详细的信息