这篇文章主要介绍了Spring&MVC应用—-第三章的讲解,通过具体代码实例进行16412 讲解,并且分析了Spring&MVC应用—-第三章的详细步骤与相关技巧,需要的朋友可以参考下https://www.b2bchain.cn/?p=16412
本文实例讲述了2、树莓派设置连接WiFi,开启VNC等等的讲解。分享给大家供大家参考文章查询地址https://www.b2bchain.cn/7039.html。具体如下:
Spring注解
文章目录
-
- Spring注解
- 前言
- 知识点
- 食材
前言
本章知识点难以理解,可结合第一/二章作业食用。
知识点
传统的 Spring 做法是使用.xml 文件来对 bean 进行诸如或者是配置 aop、事务,这么做有两个缺点:
- 如果所有的内容都配置在 xml 文件中,那么 xml 文件将会十分庞大;如果按需求分开 xml 文件,那么
xml 文件又会非常多。总之这将导致配置文件的可读性和可维护性变得很低。 - 在开发中在.java 文件和.xml 文件之间不断切换,是一件非常麻烦的事,同时这种思维上的不连贯也会
降低开发的效率。
为了解决这两个问题, Spring 引入了注解,通过“ @XXX”的方式,让注解与 Java Bean 紧密结合,既大大减少了配置文件的体积,又增加了 Java Bean 的可读性和内聚性
例中用一个叫做 p1 的空方法来表示一个切入点,当希望将通知织入该切入点时,在注解中用方
法签名来代替切入点表达式即可。由于切入点的声明和通知的声明在同一个类中,可以省略包路径和类名。
食材
使用注解的方式重构第二章的 AOP 案例。
实现步骤:
1) 创建 Web 项目 phoneannotation,并导入 jar 包
2) 在 src 下创建 com.ysd.test 包,并在其中创建 PhoneBiz 接口、 PhoneBizImpl 实现类、 Test 测试类和 LogAspect切面类。
package com.test; public interface PhoneBiz { public void buyPhone(int num);//购买手机 public void salePhone(int num);//销售手机 }
package com.test; public class PhoneBizImpl implements PhoneBiz { public void buyPhone(int num) { System.out.println("手机进货,进货数量为"+num+"部"); } public void salePhone(int num) { System.out.println("销售手机,销售数量为"+num+"部"); } } }
package com.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test { public static void main(String[] args) { ApplicationContext context= new ClassPathXmlApplicationContext("applicationContext.xml"); PhoneBiz phoneBiz = (PhoneBiz) context.getBean("phoneBiz"); phoneBiz.buyPhone(10); } } }
@Aspect // 将该类标记为切面 public class LogAspect { // 切入点 @Pointcut("execution( void *Phone(int))") public void p1() {} // 前置通知,方法执行之前执行 // @Before("com.ysd.test.LogAspect.p1() ") @Before("p1() ") public void before(JoinPoint jp) { Object[] args = jp.getArgs();// 目标方法所有参数 String methodName = jp.getSignature().getName();// 获得目标方法名称 if ("buyPhone".equals(methodName)) {60 System.out.println(currentTime() + "即将执行进货操作,数量为" + args[0]); } if ("salePhone".equals(methodName)) { System.out.println(currentTime() + "即将执行销售操作,数量为" + args[0]); } } // 省略其它方法 }
3) 在 src 下创建 applicationContext.xml,并输入以下代码:
: <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd"> <!-- 启用注解配置 --> <aop:aspectj-autoproxy /> <!-- 目标业务对象 --> <bean id="phoneBiz" class="com.ysd.test.PhoneBizImpl"></bean> <!-- 日志管理切面 --> <bean class="com.ysd.test.LogAspect"></bean> </beans>
本文转自互联网,侵权联系删除Spring&MVC应用—-第三章
最新评论