Spring框架

本文深入探讨了Spring框架,包括其设计理念、核心组件IOC和AOP。详细介绍了控制反转和依赖注入的概念及实现方式,如get/set注入、构造函数注入和注解注入。此外,还讲解了Spring提供的主要注解,如@Component、@Controller、@Service和@Repository。文章进一步阐述了Spring的AOP原理和相关术语,并提供了AOP在日志输出中的应用示例。
摘要由CSDN通过智能技术生成

目录

什么是Spring框架

1.概述

设计理念

核心部分:IOC和AOP

 什么是控制反转和依赖注入

如何使用控制反转和依赖注入

1.get,set注入  一般用于对象

2.构造函数注入  一般用于Dao层或Service层

3.注解  使用的最多!!!

 spring提供的注解有:

4.p命名空间注入  不常使用

优点

体系结构

 编写第一个Spring程序

面向切面编程(AOP)

1.简介

AOP

AOP原理

 切入点表达式常用的模糊查询

 2.AOP相关术语

3.AOP有哪些增强处理类型及特点

使用Spring AOP实现日志输出


什么是Spring框架

1.概述

它是一个轻量级的企业级应用框架,企业应用开发的“一站式”选择,贯穿于表现层,业务层,持久层

设计理念

面向Bean的编程

核心部分:IOC和AOP

a. IOC:控制反转,把创建对象的过程交给Spring进行管理

b. AOP:面向切面编程,不修改源代码进行功能增强

 什么是控制反转和依赖注入

控制反转(IOC):创建对象的控制权转移,是一种程序设计思想

依赖注入(DI):将依赖的对象注入到需要的类中去,是“控制反转”设计思想的具体实现方式

如何使用控制反转和依赖注入

可以通过四种实现方法:①get,set注入 ②构造函数注入 ③注解 ④p命名空间注入

1.get,set注入  一般用于对象
<bean id="users" class="domain.Users">
        <property name="id" value="1001"></property>
        <property name="name" value="星星"></property>
    </bean>

public void textUsers(){
        ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
        Users users= (Users) context.getBean("users");
        System.out.println(users.toString());
    }
2.构造函数注入  一般用于Dao层或Service层
Mapper中的:
public interface SmsUserMapper {
    /**
     * 新增注入
     * @return
     */
    int insert();
}

public class SmsUserMapperImpl implements SmsUserMapper {
    /**
     * 新增注入
     *
     * @return
     */
    @Override
    public int insert() {
        System.out.println("执行了新增方法......");
        return 0;
    }
}

Service中的:
public interface UserService {
    /**
     * 新增注入
     * @return
     */
    int insert();
}

public class UserServiceImpl implements UserService{
    public SmsUserMapper smsUserMapper;
    public UserServiceImpl(SmsUserMapper smsUserMapper) {
        this.smsUserMapper = smsUserMapper;
    }

    /**
     * 新增注入
     *
     * @return
     */
    @Override
    public int insert() {
        System.out.println("执行了新增方法......");
        return 0;
    }
}

<!--构造注入-->
    <bean id="userMapper" class="mapper.SmsUserMapperImpl"></bean>
    <bean id="userService" class="service.UserServiceImpl">
        <constructor-arg ref="userMapper"></constructor-arg>
    </bean>

测试类:
public void testService(){
        ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
        UserService userService=(UserService) context.getBean("userService");
        userService.insert();
    }
3.注解  使用的最多!!!

1.先在Mapper实现类中加上注解,这个注解相当于<bean id="userMapper" class="mapper.SmsUserMapperImpl"></bean>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值