三大框架Spring

本文介绍了Spring框架的基础知识,包括其定义、优势,并详细阐述了Spring程序的开发步骤,如导入Jar包、编写接口和实现类、配置文件以及测试。接着深入探讨了Spring配置文件的各个方面,如Bean标签的基本配置、作用范围、生命周期,以及Bean实例化的多种方式。最后,文章详述了依赖注入的概念和不同注入方式,包括构造方法、set方法和p命名空间注入。
摘要由CSDN通过智能技术生成

1.1、Spring是什么

Spring是分层的 Java SE/EE应⽤full-stack轻量级开源框架,以IOC(Inverse Of Control:反转控制) 和 AOP(Aspect Oriented Programming:⾯向切⾯编程)为内核。
(IOC:作用:原先对象的创建和管理由开发人员手动,有了IOC后对象的创建和管理交给了spring容器)

1.2、Spring的优势

1.方便解耦,简化开发
2.AOP编码的支持
3.声明式事务的支持
4.方便程序的测试

⼆、Spring快速入门

2.1、Spring程序开发步骤

  1. 新建工程导入相关Jar包;
  2. 编写接口和实现类;
  3. 编写Spring核心配置文件;
  4. 编写测试类进行测试。

2.2、导入相关Jar包

在这里插入图片描述

2.3、编写接口和实现类

2.4、编写Spring核心配置文件

applicationContext.xml

2.5、编写测试类进行测试

public class MyTest {
    
@Test 
public void test() {
    
//加载配置文件,创建应用上下文对象 
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//获取对象 
UserDao userDao = (UserDao) context.getBean("userDao");
userDao.save(); 
 	} 
 }

三、Spring配置⽂件

3.1、Bean标签基本配置

bean标签的基本配置
作用:通过配置将对象的创建交给spring容器进行管理
默认调用无参构造函数,如果没有无参构造函数则不能创建成功
id:bean实例在spring容器的唯一标识(就是调用时的名字)
class:bean的全限定名称(就是所代表的实现类impl)

例子:

<!--
        配置Bean,让UserDaoImpl对象的创建交给Spring容器管理
        class:指定要创建的对象的全类名
        id:该对象的编号(唯一标识)
        scope:对象的作用范围:
        singleton:创建单例对象
        (所有new出来的userdao的地址都指向同一个对象)
        prototype:多例对象
    -->
    <bean id="userdao" class="com.hpe.dao.impl.UserDaoImpl" 
    scope="singleton"/>
 

3.2、Bean标签范围配置

scope:指对象的作用范围,取值如下:

  1. 当scope的取值为singleton时
    Bean的实例化个数:1个
    Bean的实例化时机:当Spring核心文件被加载时,实例化配置的Bean实例
    Bean的生命周期:
  • 对象创建:当应用加载,创建容器时,对象就被创建了;
  • 对象运行:只要容器在,对象一直活着;
  • 对象销毁:当应用卸载,销毁容器时,对象就被销毁了。
  1. 当scope的取值为prototype时
    Bean的实例化个数:多个
    Bean的实例化时机:当调用getBean()法时实例化Bean
    Bean的生命周期:
  • 对象创建:当使用对象时,创建新的对象实例;
  • 对象运行:只要对象在使用中,就一直活着;
  • 对象销毁:当对象长时间不用时,被 Java 的垃圾回收器回收了。

3.3、Bean生命周期配置

init-method:指定类中的初始化方法名称
destroy-method:指定类中销毁方法名称

3.4、Bean实例化三种⽅式

3.4.1、使⽤无参构造方法实例化

根据默认⽆参构造⽅法来创建类对象,如果bean中没有默认⽆参构造函数,将会创建失败

<bean id="userDao" class="com.hpe.dao.impl.UserDaoImpl">

3.4.2、工厂静态方法实例化

创建静态⼯⼚

3.4.3、工厂实例方法实例化

3.5、什么是依赖注⼊
依赖注⼊:Dependency Injection ,指容器负责创建和维护对象之间的依赖关系,而不是通过对象本⾝ 负责自己的创建和解决自己的依赖。在当前类需要⽤到其他类的对象,由Spring为我们提供,我们只需 要在配置中说明。 业务层和持久层的依赖关系,在使⽤ Spring 之后,就让 Spring 来维护了。 简单的说,就是坐等框架把持久层对象传⼊业务层,而不用我们自己去获取。 3.6、依赖注入方式
3.6.1、构造方法注入

  1. 创建接口UserService和实现类UserServiceImpl
public interface UserService {
    
void save(); 
}
public class UserServiceImpl implements UserService {
    
	//这里一定要有该属性,我们最终的目的是让该属性关联一个UserDaoImpl的对象
	private UserDao userDao;
	public UserServiceImpl() {
    
}
	//一定要有该有参的构造方法,通过该方法完成依赖注入 
	public UserServiceImpl(UserDao userDao) {
    
	this
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值