一,完成例题1.3spring入门程序。修改包名为edu.javaee.spring
1.创建java项目命名为chapter01
2.在项目下建立一个package命名为edu.javaee.spring
3.创建java接口UserDao.java,编写一个抽象类方法say()
4.创建一个实现类UserDao来实现接口功能,在方法中输入方法体。
5.配置spring-config.xml文件
<bean id="userDao" class="com.itheima.ioc.UserDaoImpl" />
</bean>
*6.创建一个测试类test.java用来测试* package edu.javaee.spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestIoc {
public static void main(String[] args) {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
UserDao userDao = (UserDao) applicationContext.getBean("userDao");
userDao.say();
}
}
7.测试结果
二、spring的优点是什么?
非侵入式设计
方便解耦、简化开发
支持AOP
支持声明式事务处理
方便程序检查
方便集成各种优秀框架
降低Java EE API的使用难度
三、spring的Ioc和DI的概念理解?
1、IoC(控制反转)
控制反转是说创建对象的控制权进行转移,以前创建对象的主动权和创建时机是由自己把控的,而现在这种权力转移到第三方,比如转移交给了IoC容器,它就是一个专门用来创建对象的工厂,你要什么对象,它就给你什么对象,有了 IoC容器,依赖关系就变了,原先的依赖关系就没了,它们都依赖IoC容器了,通过IoC容器来建立它们之间的关系。
2、DI(依赖注入)
IoC的一个重点是在系统运行中,动态的向某个对象提供它所需要的其他对象。这一点是通过DI(依赖注入)来实现的