1、完成例题1.3spring入门程序
(1)UserDao 接口类:
package edu.javaee.spring;
public interface UserDao {
public void say();
}
(2)UserDaoimpl接口实现类:
package edu.javaee.spring;
public class UserDaoimpl implements UserDao {
@Override
public void say() {
// TODO 自动生成的方法存根
System.out.println(“userDao say hello World!”);
}
}
(3)applicationContext配置文件:
(4)TestIoc 测试类:
package edu.javaee.spring;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class TestIoc {
public static void main(String[] args) {
// TODO 自动生成的方法存根
//1、初始化spring容器,加载配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(“applicationContext.xml”);
//2、通过容器获取userDao实例
UserDao userDao = (UserDao) applicationContext.getBean(“userDao”);
//3、调用实例方法
userDao.say();
}
}
运行结果:userDao say hello World!
2、spring的优点是什么?
(1)非侵入式设计:不要求实现接口
(2)方便解耦、简化开发:将所有对象的创建、依赖关系和维护交给spring处理,降低主键之间的耦合性
(3)支持AOP:集中处理,提高代码复用性,简化开发,提高效率
(4)支持声明式事务处理:通过声明式方式灵活地进行事务的管理,提高开发效率和质量。
(5)方便程序测试:可以用非容器依赖的编程方式进行几乎所有的测试工作。
(6)方便集成各种优秀框架:不排斥取代其他的框架,它整合其他框架(如Struts,Hibernate、Hessian、Quartz),可以降低各种框架的使用难度。
(7)降低Java EE API的使用难度:Spring对很多难用的Java EE API(如JDBC,JavaMail,远程调用等)提供了一个薄薄的封装层,通过Spring的简易封装,这些Java EE API的使用难度大为降低,简化代码的编写提高开发效率
3、spring的Ioc和DI的概念理解?
IoC(控制反转):是一种面向对象编程中的一种设计原则,用来降低计算机代码之间的耦合度。其基本思想是,借助于“第三方”实现具有依赖关系的对象之间的解耦。
DI( 依赖注入):将实例变量传入到一个对象中去,依赖是通过外接注入的方式来实现的。这就实现了解耦。