啥?JavaEE框架与程序设计作业01:spring入门

1、Spring框架的使用:
(1)在Eclipse中,创建一个名为chapter01的Web项目,将Spring的4个基础包以及 commons-logging的JAR包复制到lib目录中,并发布到类路径下,如图所示。
啥?JavaEE框架与程序设计作业01:spring入门_第1张图片
(2)在src目录下,创建一个edu.javaee.spring包,并在包中创建接口 UserDao,然后在接 口中定义一个say()方法,如文件所示。

啥?JavaEE框架与程序设计作业01:spring入门_第2张图片
(3)在edu.javaee.spring包下,创建UserDao接口的实现类UserDaoImpI,该类需要实现接 口中的say()方法,并在方法中编写一条输出语句
啥?JavaEE框架与程序设计作业01:spring入门_第3张图片
(4)在src目录下,创建Spring的配置文件applicationContext.xml,并在配置文件中创建 —个id为userDao的Bean,
啥?JavaEE框架与程序设计作业01:spring入门_第4张图片
第2—5行代码是Spring的约束配置。该配置信息不需要手写,可以在 Spring的帮助文档中找到(详见spring-framework-4.3.6.RELEASE\docs\spring-framework-reference\html文件夹下的index.html文件)。第7行代码表示在Spring容器中创建一个 id为userDao的Bean实例,其中class属性用于指定需要实例化Bean的类。
Spring配置文件的名称可以自定义,通常在实际开发中,都会将配置文件命名为 applicationContext.xml。
(5)在edu.javaee.spring包下,创建测试类TestIoc,并在类中编写main()方法。在main() 方法中,需要初始化Spring容器,并加载配置文件,然后通过Spring容器获取userDao实例(即 Java对象),最后调用实例中的say()方法,执行程序后,控制台的输出结果如图
啥?JavaEE框架与程序设计作业01:spring入门_第5张图片
2、spring的优点
(1)非侵入式设计
Spring是一种非侵入式(non-invasive )框架,它可以使应用程序代码对框架的依赖最小化。
(2)方便解耦、简化开发
Spring就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给Spring容器 管理,大大地降低了组件之间的耦合性。
(3)支持AOP
Spring提供了对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式 处理,从而提高了程序的复用性。
(4)支持声明式事务处理
只需要通过配置就可以完成对事务的管理,而无须手动编程。
(5)方便程序的测试
Spring提供了对Junit4的支持,可以通过注解方便地测试Spring程序。
(6)方便集成各种优秀框架
Spring不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如Strutss Hibernate. MyBatiSs Quartz等)的直接支持。
(7)降低Java EE API的使用难度
Spring对Java EE开发中非常难用的一些API (如JDBC、JavaMail等),都提供了封装, 使这些API应用难度大大降低。
3、spring的Ioc和DI的概念理解
依赖注入(Dependency Injection,简称DI )与控制反转(loC )的含义相同,只不过这两个称呼是从两个角度描述的同一个概念。
(1)控制反转(loC ):在使用Spring框架之后,对象的实例不再由调用者来创建,而是由Spring容器来创建, Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权 由应用代码转移到了 Spring容器,控制权发生了反转,这就是Spring的控制反转。
(2)依赖注入(Dependency Injection,简称DI ):从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,这相 当于为调用者注入了它依赖的实例,这就是Spring的依赖注入。

你可能感兴趣的:(啥?JavaEE框架与程序设计作业01:spring入门)