Spring学习一

Spring学习一

什么是Spring

Spring是一个以IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programing)为内核的框架。

什么是IoC

IoC,既控制反转,是一种设计思想。与传统Java SE程序设计不同,IoC是通过专门的容器,由容器来创建对象,对象之间的关系本来是由我们开发者自己创建和维护的,在我们使用Spring框架后,对象之间的关系由容器来创建和维护,将开发者做的事授权给了容器。

什么是DI

DI,既依赖注入。由IoC容器在运行期间动态地将某种依赖关系注入对象之中。

Spring基础包说明

包名说明
spring-core-xxx.RELEASE.jar包含spring框架基本的核心工具类,spring其他组件都要用到这个包里的类
spring-beans-xxx.RELEASE.jar包含访问配置文件、创建和管理bean以及进行IoC或者DI操作相关的类
spring-context-xxx.RELEASE.jarspring提供了在基础IoC功能上的扩展服务,还提供许多企业级服务的支持,如任务调度、JNDI定位、EJB集成、远程访问、缓存、邮件服务以及各种视图层框架的封装等
spring-expression-xxx.RELEASE.jar定义了spring的表达式语言

代码实现

导入jar包

将Spring的4个基础包以及commons-logging的jar包导入到项目中,并发布到类路径下。在这里插入图片描述

代码编写

(1)在新建的项目(chapter01)中,新建一个包(com.ssm.ioc_di),在包中创建接口UserDao。
UserDao.java

package com.ssm.ioc_di;

public interface UserDao {
	public void login();
}

(2)在包中创建接口UserDao的实现类UserDaoImpl。
UserDaoImpl.java

package com.ssm.ioc_di;

public class UserDaoImpl implements UserDao{
	public void login() {
		System.out.print("UserDao login");
	}
}

(3)在包中创建配置文件,applicationContext.xml,并在配置文件中创建id为UserDao的bean。
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">

    <!-- bean definitions here -->
    <bean id="UserDao" class="com.ssm.ioc_di.UserDaoImp1"/>
    </beans>

(4)在包中创建测试类IoC.
IoC.java

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) {
		// TODO Auto-generated method stub
		String XmlPath="com/ssm/ioc_di/applicationContext.xml";
		ApplicationContext context=
				new ClassPathXmlApplicationContext(XmlPath);
		UserDao userdao=(UserDao)context.getBean("UserDao");
		userdao.login();
	}
}
运行结果

运行结果

问题总结

1、jar包不能直接复制到项目中,必须要发布到类路径。不然jar包没法引用。
2、导入jar包必须把4个基础包和commons-logging的jar包都引入。不然会报构造函数ClassPathXmlApplicationContext(字符串)引用缺失类型BeansException的错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值