当前位置: 首页 > news >正文

网站建设域名空间软件设计图片

网站建设域名空间,软件设计图片,前几年做哪个网站能致富,介绍公司的简介目录: 1.Spring框架最基本、最核心的jar包2.Spring的入门程序3.依赖注入3.1 依赖注入的概念3.2 依赖注入的实现方式 1.Spring框架最基本、最核心的jar包 Spring是一个轻量级框架,Spring最基本、最核心的的jar包括 : beans、context、core、expression。 …

目录:

    • 1.Spring框架最基本、最核心的jar包
    • 2.Spring的入门程序
    • 3.依赖注入
      • 3.1 依赖注入的概念
      • 3.2 依赖注入的实现方式

1.Spring框架最基本、最核心的jar包

Spring是一个轻量级框架,Spring最基本、最核心的的jar包括 : beans、context、core、expression

  • spring-core.jar : 这个jar包 包含spring框架基本的核心工具类,这是其他组件的基本核心
  • spring-beans.jar : 这个jar包是所有应用都能用到的,它包含了访问配置文件、 创建和管理Bean (BeanFactory)、进行IOC/DI操作相关的类。
    BeanFactory能添加和管理bean,其底层是通过IOC控制反转(Inversion of Control,IoC)的方式来管理bean。IOC是一种设计思想,它将传统的程序中的对象依赖关系由直接依赖改为间接依赖,实现了程序中各个模块的解耦,降低了模块间的耦合度,提高了代码的可维护性和可复用性。
    ps :
    BeanFactory是属于旧方式的管理Bean的方式,开发中一般使用ApplicationContext方式来替代BeanFactory来管理bean。
  • spring-context.jar : 这个jar包功能是建立在 corebeans 的基础上实现的,他在基础的IOC功能上提供扩展服务,此外还提供许多企业级服务的支持,有邮件服务任务调度JNDI定位EJB集成远程访问缓存以及多种视图层框架的支持
    ps :
    spring-context.jar 中的 ApplicationContext 能替代 BeanFactory 的添加和管理Bean,开发中更常用。ApplicationContext管理bean底层也是IOC
  • spring-expression.jar : 主要用于在Spring应用中表达和解析表达式。该功能在Spring 3.0中引入。

2.Spring的入门程序

第一步、在DIEA中创建一个Java项目,添加web功能模块。

第二步、在项目WEB-INF目录中创建lib文件夹,存放Spring框架最基本核心的jar包,让jar包生效。
获取spring框架基本核心jar包

第三步、创建UserDao接口 和 UserDaoImpl实现类
UserDao.java (接口)

public interface UserDao {public void say();}

UserDaoImpl.java (实现类)

public class UserDaoImpl implements UserDao{ //实现类//重写实现类中的方法@Overridepublic void say() {System.out.println("UserDaoImpl say hello World !");}
}

第四步、创建ApplicationContext.xml,其中添加和配置bean的信息 ( 用ApplicationContext的方式来在IOC容器中添加和管理bean)

<?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.xsd"><!--  将UserDaoImpl这个类交给Spring容器管理,即Beans管理,让其创建对象的实例  --><!--  通过创建 ApplicationContext的方式来添加和管理Bean  --><bean id="userDaoImpl" class="com.myh.ioc.UserDaoImpl"/>
</beans>

第五步、创建ApplicationContext获得bean,创建测试类使用bean。

public class TestIoC {public static void main(String[] args) {//1.初始化spring容器,加载配置文件ApplicationContext applicationContext =new ClassPathXmlApplicationContext("ApplicationContext.xml");//2.通过容器获得userDaoImpl实例UserDaoImpl userDaoImpl = (UserDaoImpl)applicationContext.getBean("userDaoImpl");//3.调用实例职工的say()方法userDaoImpl.say();}
}

3.依赖注入

3.1 依赖注入的概念

  • 依赖注入( Dependency Injection, 简称DI) 控制反转 (loC) 的含义相同,只不过这两个称呼是从两个角度描述的同一个概念 ( 不同角度下描述的同一概念 )。

  • 当某个Java对象 (调用者) 需要调用另一个Java对象( 被调用者,即被依赖对象)时。在 传统模式 下,调用者通常会采用 “new被调用者” 的代码方式来创建对象,如下图所示。这种方式会导致调用者被调用者之间的 耦合性增加不利于后期项目的升级和维护
    在这里插入图片描述

  • 在使用Spring 框架之后,对象的实例不再由调用者来创建,而是由Spring 容器来创建。
    Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权应用代码转移到了Spring容器控制权发生了反转,这就是Spring的 控制反转 ( IOC )。

    Spring容器的角度来看,Spring 容器负责将被依赖对象赋值给调用者的成员变量,这相当于为
    调用者注入了它依赖的实例,这就是Spring的 依赖注入 ( DI) ,如下图所示。
    ps :
    控制主导权有“调用者” 转变为 “spring容器”,控制权发生转变,叫“控制反转” ( IOC ),控制反转的实际操作是 : “依赖注入” ( DI )。

    在这里插入图片描述

3.2 依赖注入的实现方式

依赖注入的作用就是在使用Spring 框架创建对象时,动态右地将其所依赖的对象注入Bean组件中,其实现方式通常有两种,一种是属性 setter方法注入,另一种是 构造方法注入,具体介绍如下。

  • 属性setter方法注入 : (最为常用
    指Spring容器使用setter方法注入被依赖的实例(对象)。通过调用无参构造器或无参静态工厂方法实例化Bean后,调用该Bean的setter方法,即可实现基于setter方法的依赖注入。

  • 构造方法注入 :
    指Spring容器使用构造方法注入被依赖的实例。基于构造方法的依赖注入通过调用带参数的构造方法来实现,每个参数代表着一个依赖。

    属性setter方法注入的例子

    UserService.java

    public interface UserDao {public void say();}
    

    UserServiceImpl.java

    public class UserServiceImpl implements UserService{//声明UserDao属性 (被调用者实例)private UserDao userDao; // "userDao"为 Bean实例中相应的 “属性名”//添加UserDao属性的setter方法,用于依赖注入public void  setUserDao(UserDao userDao){this.userDao = userDao;}//实现接口中的方法@Overridepublic void say() {//调用userDao中的say()方法this.userDao.say();System.out.println("userServiceImpl say hello World!");}
    }
    

    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.xsd"><!--  将UserDaoImpl这个类交给Spring容器管理,即Beans管理,让其创建对象的实例  --><!--  通过创建 ApplicationContext的方式来添加和管理Bean  --><bean id="userDaoImpl" class="com.myh.ioc.UserDaoImpl"/><!--  在IOC容器中创建一个id为“userServiceImpl“的Bean,该Bean用于实例化 UserServiceImpl类的信息  --><bean id="userServiceImpl" class="com.myh.ioc.UserServiceImpl"><!--  将id为"userDao"的Bean实例注入到 userService实例中 --><!--   name : 表示Bean实例中相应的 “属性名”ref : 用于指定其属性值--><property name="userDao" ref="userDaoImpl"/><!--   property标签用于调用Bean实例中的 setUserDao() 方法完成属性赋值   --></bean></beans>
    

    TestDI.java (测试类)

    public class TestDI {public static void main(String[] args) {//1.初始化spring容器,加载配置文件ApplicationContext applicationContext =new ClassPathXmlApplicationContext("ApplicationContext.xml");//2.通过容器获取UserService实例UserServiceImpl userServiceImpl = (UserServiceImpl) applicationContext.getBean("userServiceImpl"); //getBean()中参数为配置bean对应的id名//3.调用实例中的say()方法userServiceImpl.say();}
    }
    
  • 以上为Spring容器 属性setter注入 的方式,也是实际开发中最为常用的一种方式。

http://www.yayakq.cn/news/937029/

相关文章:

  • 湖南信息网官方网站网站全程设计技术
  • 这么做网站网站seo优化很好徐州百度网络点赞
  • 关于集团网站建设的交换友情链接的渠道有哪些
  • 自建本地网站服务器wordpress画画外包网站
  • 黑色时尚橱柜网站源码优惠券网站建设
  • 网站开发费会计处理小网站如何做密码找回
  • 网站建设制作公司企业app软件定制开发系统
  • 宁波网站建设工作室多页网站模板
  • 牟长青 做网站推广的四个基本要点室内设计者联盟网站
  • 网站建设全部流程包括备案wordpress快速安装
  • 网站永久镜像怎么做自己弄网站怎么弄
  • 万荣网站seo网站后台管理系统设计
  • wordpress去谷歌长沙seo关键词排名优化
  • 廉江人做寄生虫网站wordpress插件刷不出来
  • 网站建设合作协议文本addfilter wordpress
  • 郑州装修公司口碑哪家好淄博网站优化服务
  • wordpress网站加载过慢关于校园网站升级建设的报告
  • 温州网站建设活动自己做网站 什么
  • 网站建设 网站内容 采集网页设计的实训报告
  • 帮别人做网站的公司是外包吗网站建设字体变色代码
  • 推销什么企业做网站和appwordpress5.9文章编辑器
  • 办公用品网站建设可行性分析福州网站建设 联系yanktcn 04
  • 济南网站优化排名库存管理系统软件哪个好
  • 网站建设算无形资产吗做一个电子商务网站在哪里做
  • 做网站在哪里找素材集团网
  • 怎么制作学校网站郓城县城乡和建设局网站
  • flask 简易网站开发在线观看视频的免费网站
  • 顺德网站制作有哪些公司wordpress 主题广告
  • 网站推广营销活动免费开发网站大全
  • 网站的软文 怎么做推广加盟做网站