为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
Spring入门篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

Spring入门篇

moocer JAVA开发工程师
难度中级
时长 7小时 0分
  • -<context:component-scan base-package=""/>:开启注解扫描 -@Component,@Repository,@Service,@Controller:注册bean
    查看全部
  • Spring AOP 小结 .什么是AOP及实现方式 .AOP基本概念 .Spring中的AOP .Schema-based AOP .AspectJ
    查看全部
    0 采集 收起 来源:Advice扩展

    2016-03-08

  • AspectJ小结 .配置@AspectJ .Pointcut .Adivce
    查看全部
    0 采集 收起 来源:Advice扩展

    2016-03-08

  • 切面实例化模型 .这是一个高级主题 .“perthis”切面通过制定@Aspect注解perthis子句实现 .每个独立的service对象执行时都会创建一个切面实例 .service对象的每个方法在第一次执行的时候创建切面实例,切面service对象失效的同时失效 @Aspect("perthis(com.xyz.myapp.SystemArchitecture.businessService())") public class MyAspect { private int someState; @Before(com.xyz.myapp.SystemArchitecture.businessService()) public void recordServiceUsage() { // ... } }
    查看全部
    0 采集 收起 来源:Advice扩展

    2018-03-22

  • Introductions .例如:给定一个接口UsageTracking ,并且该接口拥有DefaultUsageTracked的实现,接下来的切面声明了所有的service接口的实现都实现了UsageTracked接口 @Aspect public class UsageTracking { @DeclareParents(value="com.xzy.myapp.service.*+", defaultImpl=DefaultUsageTracked.class) public static UsageTracked mixin; @Before("com.xyz.myapp.SystemArchitecture.businessService() && this(usageTracked)") public void recordUsage(UsageTracked usageTracked) { usageTracked.incrementUseCount(); } }
    查看全部
    0 采集 收起 来源:Advice扩展

    2018-03-22

  • Introductions .允许一个切面声明一个通知对象实现指定接口,并且提供了一个接口实现类来代表这些对象 .Introduction使用@DeclareParents进行注解,这个注解用来定义匹配的类型拥有一个新的parent
    查看全部
    0 采集 收起 来源:Advice扩展

    2016-03-08

  • Advice参数名称 .通知和切入点注解有一个额外的“argNames”属性,它可以用来指定所注解的方法的参数名 @Before(value="com.xyz.lib.Pointcuts.anyPublicMethod() && target(bean) && @annotation(auditable)", argNames="bean,auditable") public void audit(Object bean, Auditable auditable) { AuditCode code = auditable.value(); // ... use code and bean } .如果第一参数是JoinPoint,ProceedingJoinPoint,JoinPoint.StaticPart,那么可以忽略它 @Before(value="com.xyz.lib.Pointcuts.anyPublicMethod() && target(bean) && @annotation(auditable)", argNames="bean,auditable") public void audit(JoinPoint jp, Object bean, Auditable auditable) { AuditCode code = auditable.value(); // ... use code, bean, and jp }
    查看全部
    0 采集 收起 来源:Advice扩展

    2018-03-22

  • Advice的参数及泛型 .Spring AOP可以处理泛型类的声明和使用方法的参数 public interface Sample<T> { void sampleGenericMethod(T param); void sampleGenericCollectionMethod(Collection>T> param); } @Before("execution(* ..Sample+.sampleGenericMethod(*)) && args(param)") public void beforeSampleMethod(MyType param) { // Advice implementation } @Before("execution(* ..Sample+.sampleGenericCollectionMethod(*)) && args(param)") public void beforeSampleMethod(Collection<MyType> param) { // Advice implementation }
    查看全部
    0 采集 收起 来源:Advice扩展

    2018-03-22

  • 给advice传递参数 @Before("com.xyz.myapp.SystemArchitecture.dataAccessOperation() && args(account,..)") public void validateAccount(Account account) { // ... } @Pointcut("com.xyz.myapp.SystemArchitecture.dataAccessOperation() && args(account,..)") private void accountDataAccessOperation(Account account) {} @Before("accountDataAccessOperation(account)") public void validateAccount(Account account) { // ... } @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Auditable { AuditCode value(); } @Before("com.xyz.lib.Pointcuts.anyPublicMethod() && @annotation(auditable)") public void audit(Auditable auditable) { AuditCode code = auditable.value(); // ... }
    查看全部
    0 采集 收起 来源:Advice扩展

    2018-03-22

  • 用byName的时候,bean id=“xxx”一定要与setXxx(形参)的Xxx首字母变小写后相同,而不一定与形参相同,也不一定与成员变量相同。当然,一般正规的set方法后面的Xxx是与成员变量相同的,因此一般情况下bean id与成员变量相同。
    查看全部
  • Around advice .环绕通知使用@Around注解来声明,通知方法的第一个参数必须是ProceedingJoinPoint类型 .在通知内部调用ProceedingJoinPoint的procceed()方法会导致执行真正的方法,传入一个Object[]对象,数组中的值将被作为参数传递给方法 import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.ProceedingJoinPoint; @Aspect public class AroundExample { @Around("com.xyz.myapp.SystemArchitecture.businessService()") public Object doBasicProfiling(ProceedingJoinPoint pjp) throws Throwable { // start stopwatch Object retVal = pjp.proceed(); // stop stopwatch return retVal; } }
    查看全部
  • Spring Aop总结
    查看全部
    0 采集 收起 来源:Advice扩展

    2016-03-08

  • Introductions的@DeclareParents注解
    查看全部
    0 采集 收起 来源:Advice扩展

    2016-03-08

  • Advice的参数及泛型
    查看全部
    0 采集 收起 来源:Advice扩展

    2016-03-08

  • After(finally) advice .最终通知必须准备处理正常和异常两种返回情况,它通常用于释放资源 import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.After; @Aspect public class AfterFinallyExample { @After("com.xyz.myapp.SystemArchitecture.dataAccessOperation()") public void doReleaseLock() { // ... } }
    查看全部

举报

0/150
提交
取消
课程须知
Java的高级课程,适合对Java基础知识应用自如,并熟悉MVC架构的小伙伴们。如果想成为一名Java工程师,这门课程是一定要学哒。
老师告诉你能学到什么?
掌握依赖注入、IOC和AOP的概念,并能进行简单应用。
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!