springioc与aop

ioc
依赖注入(控制反转)
依赖:
需要的东西
注入:
放进去

业务层对象一般需要数据访问层对象
    以前的做法:
        class UserServiceImpl{
            private UserDao userDao = new UserDaoImpl();
        }
        以上的做法中,在UserServiceImpl中写死了UserDao的实现类,
        如果以后实现类发生变化了,就需要修改源码才能正常使用

    在使用spring的时候
         class UserServiceImpl{
               private UserDao userDao;

               public void setUserDao(UserDao userDao){
                 this.UserDao = userDao;
               }
         }
         在UserServiceImpl中需要UserDao的对象的时候,并没有写死实现类,
         而是下使用UserServiceImpl对象之前,放一个UserDao对象进去
         (通过setter方法把UserDao类型对象设置进去);
         因为没有写死需要的UserDao的实现类,可以很灵活的替换UserDao的实现类对象

         spring负责帮我们创建UserServiceImpl对象,负责创建UserDao的实现类的对象,
         并且把UserDao的实现类的对象通过setUserDao方法注入到UserServiceImpl对象中

aop
面向切面编程
1 把通用的功能提取出来,放在一个单独的类中
LogUtil

2 在spring的配置文件中配置:

创建LogUtil对象,对象id为logUtil

<aop:config>
    <aop:pointcut id="表达式id" expression="哪些类的哪些方法前面要调用的表达式" />
    <aop:aspect ref="logUtil">
        <aop:before method="要在方法执行之前调用的方法名"
        pointcut-ref="引用一个描述在哪些类的哪些方法前面要调用的表达式的id" />
    </aop:aspect>
</aop:config>

3 添加aop相关的jar包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值