spring的简单认知

1.spring配置写法与注解写法

配置写法

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="dao" class="com.zhiyou.zt.dao.UserDaoImp"></bean>
    <bean id="service" class="com.zhiyou.zt.userServie.UserServiceImp">
        <property name="userDao" ref="dao"></property>
    </bean>
    <bean id="con" class="com.zhiyou.zt.userController.UserController">
        <property name="userService" ref="service"></property>
    </bean>
</beans>

注解写法

package com.zhiyou.zt.userServie;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.zhiyou.zt.dao.UserDao;
@Service(value="uservice ")
public class UserServiceImp implements UserService{
    @Autowired
    private UserDao userDao;
    
    public UserDao getUserDao() {
        return userDao;
    }

    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    @Override
    public void Select(int id) {
        userDao.Select(id);
        
    }

}

2.aop的使用,同样有xml和注解写法

xml写法:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    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.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd
        http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.2.xsd">
    <!-- <context:component-scan base-package="com.zhiyou.zt"></context:component-scan>
    <aop:aspectj-autoproxy></aop:aspectj-autoproxy> -->
    <bean id="aimp" class="com.zhiyou.zt.aspect.aImp"></bean>
    <bean id="as" class="com.zhiyou.zt.aspect.aspect"></bean>
    <aop:config>
        <aop:pointcut expression="execution(* com.zhiyou.zt.aspect.aImp.*(..))" id="pointcut"/>
        <aop:aspect ref="as">
            <aop:before method="before" pointcut-ref="pointcut"/>
            <aop:after method="after" pointcut-ref="pointcut"/>
            <aop:after-returning method="ret" pointcut-ref="pointcut" returning="result"/>
            <aop:after-throwing method="tho" pointcut-ref="pointcut" throwing="e"/>
        </aop:aspect>
    </aop:config>
</beans>

注解写法:

package com.zhiyou.zt.aspect;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.springframework.stereotype.Component;

@Aspect
@Component(value="a")
public class aspect {
    @Before(value="execution(* com.zhiyou.zt.aspect.aImp.*(..))")
    public void before() {
        System.out.println("haha");
    }
}
原文地址:https://www.cnblogs.com/1556553526qq-com/p/11485688.html