ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2020-03-05 22:03:44  阅读:330  来源: 互联网

标签:容器 01 userDao spring JavaEE say Spring UserDao


1、Spring框架的使用:
(1)在Eclipse中,创建一个名为chapter01的Web项目,将Spring的4个基础包以及 commons-logging的JAR包复制到lib目录中,并发布到类路径下,如图1-1所示。
在这里插入图片描述
图1-1 导入jar包
(2)在src目录下,创建一个edu.javaee.spring包,并在包中创建接口 UserDao,然后在接 口中定义一个say()方法,如文件1-1所示。
文件 1-1 UserDao.java

package edu.javaee.spring;

public interface UserDao {
	
	public void say();

}

(3)在edu.javaee.spring包下,创建UserDao接口的实现类UserDaoImpI,该类需要实现接 口中的say()方法,并在方法中编写一条输出语句,如文件1-2所示。
文件 1-2 UserDaoImpl.java

package edu.javaee.spring;

public class UserDaoImpl implements UserDao {

	@Override
	public void say() {
		System.out.println("userDao say hello World!");

	}

}

(4)在src目录下,创建Spring的配置文件applicationContext.xml,并在配置文件中创建 —个id为userDao的Bean,如文件1-3所示。
文件 1-3 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"></bean>
</beans>

在文件1-3中,第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()方法,如文件1-4所示。
文件 1-4 TestIoc.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("applicationContext.xml");
		
		//2,通过容器获取userDao实例
		UserDao userDao = (UserDao) applicationContext.getBean("userDao");
		
		//3,调用实例方法
		userDao.say();

	}

}

(6)执行程序后,控制台的输出结果如图1-2所示。
在这里插入图片描述
图1-2 运行结果
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的依赖注入。

标签:容器,01,userDao,spring,JavaEE,say,Spring,UserDao
来源: https://blog.csdn.net/cainiao1007/article/details/104683970

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有