一、完成例题1.3spring入门程序。修改根包为edu.javaee.spring。
1.创建java项目命名为Lsy;
2.在项目下创建一个package命名为edu.javaee.spring;
3.创建接口UserDao.java,编写一个抽象类方法say();
package edu.javaee.spring;
public interface UserDao {
public void say();
}
4.创建一个实现类UserDaoimpl来实现接口功能,该类需要实现接口中say()方法。
package edu.javaee.spring;
public class UserDaoImpl implements UserDao {
public void say() {
System.out.println(" LSY learn javaee");
}
}
5.创建配置文件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,让Spring创建其对象的实例 -->
<bean id="userDao" class="edu.javaee.spring.UserDaoImpl" />
6.创建一个测试类TestI01.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) {
// 1.初始化spring容器,加载配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("application Context.xml");
//2.通过实例获取userDao实例
UserDao userDao = (UserDao) applicationContext.getBean("userDao");
//3.调用实例方法
userDao.say();
}
}
7.测试的结果如图。
二、spring的优点是什么?
1.控制反转将对象的创建交给了spring,简化了开发,降低了代码之间的耦合性和侵入性。
2.方便对程序进行声明式事物管理,我们只需通过配置就可以完成对事物管理。
3.方便集成各种优秀的框架,spring不排斥各种优秀框架,其内部提供了对各种优秀框架如(struts2,hibernate,mybatis,quartz,jpa)等的直接支。
4.方便对程序进行测试,spring对于Junit4的支持,可通过注解方便测试程序。
5.降低了JavaEE API的使用难度,JDBC,Javamail,远程调用等,spring对它们进行了封装,使这些API的使用难度大大降低。
三、spring的Ioc和DI的概念理解?
1、IoC(控制反转)
控制反转,传统的JAVA开发模式中,当需要一个对象时,我们使用new活着getInstance等直接或者间接调用构造方法创建一个对象,而在Spring开发模式中,Spring容器使用工厂模式为我们创建了所需要的对象,不需要我们自己去创建了,直接调用Spring提供的对象就可以了,这就是控制反转。
2、DI(依赖注入)
依赖注入,Spring使用JavaBean对象的set方法或者带参数的构造方法为我们在创建所需要对象时将其属性自动设置为我们所需要的值的过程,这就是依赖注入。
来源:CSDN
作者:m0_46053544
链接:https://blog.csdn.net/m0_46053544/article/details/104687593