黑马程序员技术交流社区
标题: 【济南校区】JavaEE就业笔记串讲---Spring_part2 [打印本页]
作者: 小鲁哥哥 时间: 2018-2-9 10:08
标题: 【济南校区】JavaEE就业笔记串讲---Spring_part2
【济南校区】JavaEE就业笔记串讲---Spring_part2
Spring的bean管理(注解)
1 注解:代码中特殊标记,使用注解可以使用类、方法、属性上面,使用注解实现功能
2 写法: @注解名称(属性=属性值)
使用注解创建对象
第一步导入jar包
(1)导入spring基本的jar包
(2)使用注解方式导入aop的jar包
第二步创建类,创建方法
第三步创建spring配置文件
(1)在xml配置文件中引入约束
(2)在spring配置文件中,开启注解扫描
第四步在创建对象所在的类上面使用注解实现
创建对象的注解的总结
1 创建对象的注解有四个:
(1)@Component
(2)@Repository 用于对DAO实现类进行标注
(3)@Service 用于对Service实现类进行标注
(4)@Controller 用于对Controller实现类进行标注
上面四个注解都可以创建对象,目前这四个注解功能是一样的
Spring为了后续扩展
2 有注解,设置创建对象是单例或者多实例
使用注解注入属性(对象)
1 创建service类,创建dao类
(1)在service里面调用dao的方法
(2)在service里面得到dao对象
2 使用注解完成注入操作
第一步在service里面定义dao类型属性
第二步进行注解方式实现注入
(1)创建dao对象和service对象
(2)在service里面注入dao对象
- 在service里面dao属性上面使用注解实现
** 使用注解@Autowired
** 使用注解@Resource
AOP概述
1 aop:面向切面编程,
(1)扩展功能不是通过修改源代码实现
2 aop采用横向抽取机制实现
(1)之前web阶段,写过baseservlet,采用不是横向机制,而是纵向机制:servlet继承baseservlet实现
(2)使用动态代理增强类里面的方法
3 aop底层使用动态代理实现
(1)有接口情况:创建接口实现类代理对象
(2)没有接口情况:创建增强方法所在类的子类代理对象
AOP术语
Joinpoint(连接点):所谓连接点是指那些被拦截到的点。在spring中,这些点指的是方法,因为spring只支持方法类型的连接点.
Pointcut(切入点): 实际增强的方法
Advice(通知/增强):所谓通知是指拦截到Joinpoint之后所要做的事情就是通知.
通知分为前置通知,后置通知,异常通知,最终通知,环绕通知(切面要完成的功能)
Aspect(切面): 是切入点和通知的结合
(1)把具体的逻辑用到具体的方法上面
Target(目标对象):代理的目标对象(要增强的类)
Weaving(织入):是把增强应用到目标的过程.
把advice 应用到 target的过程
Proxy(代理):一个类被AOP织入增强后,就产生一个结果代理类
Introduction(引介):引介是一种特殊的通知在不修改类代码的前提下, Introduction可以在运行期为类动态地添加一些方法或Field.
Spring的aop操作
1 在spring中使用aspectj实现aop操作
(1)aspectj不是spring一部分,单独面向切面框架,经常和spring一起使用进行aop
(2)spring2.0开始使用aspectj实现aop
(3)使用aspectj导入相关的jar包
2 使用aspectj实现aop操作两种方式
(1)基于aspectj的xml配置文件
(2)基于aspectj的注解
基于aspectj的xml方式
Aspej表达式
1 使用aspectj的操作,基于 表达式 形式进行切入点 配置
execution(<访问修饰符>?<返回类型><方法名>(<参数>)<异常>)
(1)对User类里面的add方法
- 第一个参数: * 表示类里面方法public、private都增强
- 添加空格,第二个参数:增强的方法所在类全路径
--- 类的全路径后面增强的方法名称
execution(* cn.itcast.User.add(..))
(2)对User类里面的所有方法
execution(* cn.itcast.User.*(..))
(3)对所有类里面的所有的方法
execution(* *.*(..))
具体操作(xml)
第一步导入jar包
(1) 导入基本的jar包
(2) 导入aop和aspectj的jar包
第二步创建类,创建方法
(1)创建增强的类,增强的方法
在 Book类里面add方法之前执行MyBook类里面before1的方法
第三步在spring配置文件中进行配置
(1)在spring配置文件中引入aop约束
(2)配置两个类对象
(3)配置aop操作
- 配置切入点
- 配置切面
演示其他通知类型
(1)环绕通知
Log4j操作
1 使用log4j,可以查看到当前运行程序中对象创建过程,可以看到更详细的信息
(1)使用在调试程序中
2 使用
(1)导入log4j的jar包
(2)复制log4j配置文件,复制到src下面
3 设置日志的输出级别
(1)info、debug、error
Ioc配置文件和注解混合使用
1 使用配置文件方式创建对象
2 使用注解方式注入属性
3 具体例子
(1)创建对象,使用配置文件实现
(2)在service里面注入dao对象,使用注解
演示spring整合web项目
1 action调用service,service调用到
(1)action多实例对象,每次访问action都创建对象
功能可以实现,但是性能很低
2 解决方案:
(1)使用ServletContext对象
(2)监听器
在服务器启动时候创建ServletContext对象,使用监听器可以知道ServletContext对象在什么时候创建,加载配置文件,创建配置的对象,把创建对象放到servletcontext里面
3 在spring里面不需要我们写这些操作,进行封装
(1)在spring封装了一个监听器,只需要配置监听器就可以了
4 使用spring里面的监听器时候,需要导入jar包,这个jar包用于整合web项目
5 启动服务器,出现异常
(1)服务器启动时候,默认到WEB-INF下面找名称是applicationContext配置文件
6 手动配置找哪个spring配置文件
作者: 忆七 时间: 2018-2-9 15:43
不错,挺好的.
作者: 蓝墨0627 时间: 2018-2-9 16:08
不错...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |