学习SSM框架整合

学习SSM框架整合(Spring学习)


提示:参考学习书籍:《ssm从零开始学》

前言

一、Spring及基础配置

Spring 就是一个免费开源框架,为了简化系统设计。

spring基础jar包在这里插入图片描述

jar包所在位置:

在这里插入图片描述
commons-logging-1.2.jar—第三方j依赖包
spring-?-?—spring的核心

二、Spring的基础IOC和DI

1.IOC(控制反转)

详细介绍(讲解):https://www.cnblogs.com/blknemo/p/13453710.html


2.DI(依赖注入)

依赖注入的作用是在使用Spring框架创建对象时,动态地将其依赖的对象注入到Bean主键中包括:

  1. 设值注入【属性setter()方法注入】
    通过调用无参构造器或无参静态工厂方法实例化Bean后调用该Bean中的setter()方法。
  2. 构造方法注入
    基于构造方法的依赖注入通过调用带参数的构造方法来实现。每个参数代表一个依赖。
    该处使用的url网络请求的数据。

属性setter()方法注入,实现依赖注入

代码演示:

下面展示一些 UserDao接口

package com.ssm.ioc_di;

public interface UserDao {
	public void login();
}

UserDaoImpl类

//UserDaoImpl类,实现UserDao接口
package com.ssm.ioc_di;

public class UserDaoImpl implements UserDao{

	public void login() {
		// TODO Auto-generated method stub
		System.out.println("userdao");
	}

}

applicationContext.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"      
        xsi:schemaLocation="http://www.springframework.org/schema/beans 
        		http://www.springframework.org/schema/beans/spring-beans-4.3.xsd">
        <!--在Spring容器中创建了一个id为userDao的Bean实例,class属性用于指定需求实例化Bean的类-->
      <bean id="userDao" class="com.ssm.ioc_di.UserDaoImpl"/> 
 </beans>

测试类IoC类

// 测试类
package com.ssm.ioc_di;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class IoC {
	public static void main(String[] args){
	//加载配置文件
		ApplicationContext applicationContext =new ClassPathXmlApplicationContext("applicationContext.xml");
		//通过容器获得userDao实例
		UserDao userDao=(UserDao) applicationContext.getBean("userDao");
		//调用userDao中的login()方法
		userDao.login();
	}
}

运行结果

三月 18, 2022 4:27:07 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@176fe71: startup date [Fri Mar 18 16:27:07 CST 2022]; root of context hierarchy
三月 18, 2022 4:27:08 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext.xml]
userdao

UserService接口

package com.ssm.ioc_di;
public interface UserService {
	public void login();
}

UserServiceImpl类

package com.ssm.ioc_di;

public class UserServiceImpl implements UserService{
//声明UserDao属性
	private UserDao userDao;
	//添加UserDao属性的setter()方法,实现注入依赖
	public void setUserDao(UserDao userDao){
		this.userDao=userDao;
	}
	//实现userService接口的方法
	public void login() {
		//调用login()并输出
		this.userDao.login();
		System.out.println("userservice");
	}
}

applicationContext.xml添加一个id为userService的Bean

<?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-4.3.xsd">
        <!--在Spring容器中创建了一个id为userDao的Bean实例,class属性用于指定需求实例化Bean的类-->
      <bean id="userDao" class="com.ssm.ioc_di.UserDaoImpl"/> 
        <!-- 添加一个id为userService的Bean --> 	
      <bean id="userService" class="com.ssm.ioc_di.UserServiceImpl" >
      <!-- 将userDao的bean注入到userService -->
      		<property name="userDao" ref="userDao" />
      </bean>	
 </beans>

DI测试类

package com.ssm.ioc_di;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class DI {

	public static void main(String[] args) {
		//加载配置文件
		ApplicationContext applicationContext=new ClassPathXmlApplicationContext("applicationContext.xml");
		//通过容器,获取userService
		UserService userService=(UserService)applicationContext.getBean("userService");
		//调用userService中的login方法
		userService.login();

	}
}

下面展示一些 运行结果

三月 18, 2022 4:38:46 下午 org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
信息: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@176fe71: startup date [Fri Mar 18 16:38:46 CST 2022]; root of context hierarchy
三月 18, 2022 4:38:46 下午 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
信息: Loading XML bean definitions from class path resource [applicationContext.xml]
userdao
userservice

在这里插入图片描述

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点份炸鸡778

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值