Spring AOP及JDBC模板

2018-03-18  本文已影响52人  guanalex

在上一篇博客中已经初步介绍了Spring的学习的一些使用和IOC控制反转等入门学习的东西,接下来就是spring往下学习的AOP操作和使用JDBC模板来对数据对进行增删改查了。

AOP

对于AOP的概念我就不写,主要有几个要核心理解的地方就是连接点、切入点、通知/增强和切面等。概念如下图所示,

aop相关概念.jpg
那么要怎么去实现这个操作呢,先来看一下配置文件过程,然后在看代码实现应该好理解,如下截图。 aop操作.jpg
aop配置文件工作.jpg 配置aop文件的过程.jpg 配置切入点.jpg

通过注解实现AOP
package Aop;
//增强类
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;

  //拿来增强的类要注解
  @Aspect
  public class aspect2 {
 //要增强的方法要注解是在哪增强
        @Before(value="execution(* Aop.aspect1.*(..))")
        public void aop2(){
        
    System.out.println("aop2....");
  }

}

被增强的类

//被增强的类
  package Aop;
  public class aspect1 { 
public void aop(){
    System.out.println("aop1....");
        }   
}

测试类

package Aop;
 import org.junit.Test;
import org.springframework.context.ApplicationContext;
import     org.springframework.context.support.ClassPathXmlApplicationContext;

import spring.aop1;

public class aoptest {
@Test
  public  void testhello(){
      ApplicationContext context=new ClassPathXmlApplicationContext("bean4.xml");
      aspect1 fdemo= (aspect1) context.getBean("as1");
     //System.out.println(demo2);
     fdemo.aop();
  }
}

JDBC Template

对于使用jdbc模板来操作数据库相比用java的JDBC实现起来更容易,实现步骤如下:

spring数据库模板操作.jpg
package jdbcTemper;

  import org.junit.Test;
  import org.springframework.jdbc.core.JdbcTemplate;
  import org.springframework.jdbc.datasource.DriverManagerDataSource;

public class jdbc {
  @Test
  public void add(){
   //设置数据库信息
    DriverManagerDataSource dataSource=new DriverManagerDataSource();
    dataSource.setDriverClassName("com.mysql.jdbc.Driver");
    dataSource.setUrl("jdbc:mysql://127.0.0.1:3306/guan");
    dataSource.setUsername("root");
    dataSource.setPassword("123456");       
    //创建template模板对象,设置数据源
    JdbcTemplate jdbc=new JdbcTemplate(dataSource);
    //调用模板对象实现天加操作
    
    //String sql="insert into users value(?)";添加
    //String sql="delete from users where username=?"删除
    String sql="update users set where username=?" 修改
    int i=jdbc.update(sql, "spring");
    System.out.println(i);
    
  }
}

以上过程虽然不是很容易,但也是一个学习过程,对于很多原理没有写出来,因为可能写出来也写不直,所以有需求就百度一下吧。

上一篇 下一篇

猜你喜欢

热点阅读