Spring基础-IOC理解及自己创建类+第三方提供的类注入的方法

本文介绍了Spring框架的核心特性,如控制反转(IOC)、面向切面编程(AOP)、MVC模式,以及如何使用Spring进行数据库事务管理、Web单元测试。还详细讲解了如何在Spring中声明和管理对象,包括`@Component`、`@Controller`、`@Service`和`@Repository`注解的使用,以及依赖注入和bean的作用域。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spring全称为Spring Framework,是一款主流的JAVA EE 开原框架,主要功能有:IOC(控制反转,层间解耦)、AOP(面向切面编程,公共代码抽取)、MVC(开发web应用程序)、数据库事务管理、web单元测试(与测试框架集成) 。

传统方式三层架构web-->service-->dao,代码层间耦合,servlet需要service就由Servlet主动创建,而Spring的方式,所有的对象都是1由Spring框架提前创建出来,存储到一个容器中,servlet需要就像Spring要一个。

IOC控制反转是一种设计思想,它的目的就是使程序解耦合。spring的核心依赖为org.springframework下的spring-context,代码编写过程直接用springboot快速构建spring项目,这里只是讲基础知识。

向Spring声明自己开发的类对象的注解有四个:

1.@Component 用于实例化对象,支持value属性类定义bean在容器中的唯一标识(属性只有value,一个属性需要赋值时,可以省略属性名,直接写属性值),如果不写默认值为类名的首字母小写,为通用注解。

2.@Controller 标注在表示层的类上

3.@Service 标注在业务层的类上

4.@Repository 标注在持久层的类上

在类上可以标上注解@Scope定义Bean的作用域,5中作用域常见的两种,singleton单例和propotype多例。默认情况下单例对象在容器创建时就创建,可以标注@Lazy将创建时机延迟到第一次获取的时候创建。

Bean的获取,原始方法可以使用容器的getBean()方法,但是实际代码开发中都是让Spring帮助我们完成对象属性的复制,即依赖注入DI思想。注解就是@Autowired,在有多个相同类型的bean时需要配合@Qualifier注解(标注在要赋值的属性上,可按指定名称匹配赋值)或 @Primary(标注在实现类上,声明默认的主实现类)

上述都是自己创建的类放入IOC容器中,第三方提供的类创建的对象放入Spring容器可以使用@Bean注解,写在方法上,将方法的返回对象放入IOC中,IOC中的默认标识就是方法名,也可@Bean(“****”)自定义,这些东西要写在配置类中(@Configuration标注,表名类为配置类,spring在启动时会自动扫描加载类中的配置)。配置类上可能会有@ComponentScan(一般标注在主配置类上),注解扫描(组件扫描),指定的包及其子包下的类的注解才会被Spring扫描。

Spring对Junit单元测试进行了封装形成了自己的单元测试@RunWith+@ContextConfiguration(代码不用,SpringBoot又进行了简化)=@SpringBootTest标注在测试类上(必须在启动类所在包下)(引入junit依赖启动器 spring-boot-starter-test),测试方法正常标注@Test。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值