返回顶部
首页 > 资讯 > 前端开发 > VUE >Spring的基础环境如何搭建
  • 517
分享到

Spring的基础环境如何搭建

2024-04-02 19:04:59 517人浏览 薄情痞子
摘要

本篇内容介绍了“spring的基础环境如何搭建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 什么是Sp

本篇内容介绍了“spring的基础环境如何搭建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

什么是Spring ?

Spring是一个开源框架,用来处理业务逻辑层和其他层之间的耦合问题。因此Spring将面向接口开发的思想贯穿整个系统应用,且Spring是一个轻量级框架,所以在诞生之初,便风靡Java开发市场,得到了广泛的认可与响应。

Spring基础概念

依赖注入(DI:Dependency Injection)又叫控制反转(ioc:Inversion of Control):将组件对象的控制权从代码本身,转移到外部容器。Spring容器也是一个IoC容器,用来管理所有的Java Bean,主要是通过BeanFactory来进行产生和管理Bean。

Spring框架搭建

1. 建立一个Java Project

Spring框架是即支持Java Project,又支持Dynamic WEB Project,如下所示:

Spring的基础环境如何搭建

2. 导入Spring框架需要的jar

Spring框架搭建需要的包共6个,如下所示:

1 //日志包
2 commons-logging-1.1.1.jar
3 //spring核心包
4 spring-aop-4.0.6.RELEASE.jar
5 spring-beans-4.0.6.RELEASE.jar
6 spring-context-4.0.6.RELEASE.jar
7 spring-core-4.0.6.RELEASE.jar
8 spring-expression-4.0.6.RELEASE.jar

3. 配置Spring配置文件

对于Java Project来说,applicationContext.xml必须放在src目录,如下所示:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="Http://www.springframework.org/schema/beans"
 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4 xsi:schemaLocation="http://www.springframework.org/schema/beans
 5  http://www.springframework.org/schema/beans/spring-beans.xsd">
 6      <!-- 此文件默认放置在src目录 -->
 7      <!-- id表示唯一标识,class表示类型,必须为全路径 -->
 8     <bean id="student" class="com.hex.first.Student">
 9         <property name="id" value="1"></property>
10         <property name="name" value="hex"></property>
11         <property name="age" value="20"></property>
12     </bean>
13 </beans>

对于配置文件中的Student类,定义如下:

Spring的基础环境如何搭建

 1 package com.hex.first;
 2 
 3 
 8 public class Student {
 9     
10     
13     private int id;
14 
15     
18     private String name;
19     
20     
23     private int age;
24     
25     public int getId() {
26         return id;
27     }
28     public void setId(int id) {
29         this.id = id;
30     }
31     public String getName() {
32         return name;
33     }
34     public void setName(String name) {
35         this.name = name;
36     }
37     public int getAge() {
38         return age;
39     }
40     public void setAge(int age) {
41         this.age = age;
42     }
43     
44     @Override
45     public String toString() {
46         // TODO Auto-generated method stub
47         return "ID="+id+",Name="+name+",Age="+age;
48     }
49 }

View Code

4. 声明对象

对于常规声明对象和采用Spring获取对象的方式如下:

Spring的基础环境如何搭建

 1 //常规New对象方法声明一个对象
 2 Student student=new Student();
 3 student.setId(1);
 4 student.setName("hex");
 5 student.setAge(20);
 6 System.out.println(student);
 7 //通过Spring进行注入,Spring上下文对象
 8 ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
 9 //从Spring的IOC容器中获取id为student的bean对象
10 Student student01=(Student) context.getBean("student");
11 System.out.println(student01);

View Code

5. 测试结果

如下所示:

Spring的基础环境如何搭建

采用Spring方式和传统方式的区别有哪些

传统方式全部采用硬编码的方式,一旦有变动,就需要修改代码,而Spring采用注入的方式,将可变的东西放在配置文件中,便于修改。

1. 首先假设一种场景,学生有一个学习课程的需求

关于课程的接口(ICourse),定义如下:

Spring的基础环境如何搭建

 1 
 6 public interface ICourse {
 7     
 8     
11     void learn();
12 }

View Code

分别有两个实现类:JavaCourse和htmlCourse,代码如下:

Spring的基础环境如何搭建

 1 package com.hex.first;
 2 
 3 
 8 public class JavaCourse implements ICourse {
 9 
10     @Override
11     public void learn() {
12         System.out.println("学习Java课程。。。");
13 
14     }
15 
16 }

View Code

Spring的基础环境如何搭建

 1 package com.hex.first;
 2 
 3 
 8 public class HtmlCourse implements ICourse {
 9 
10     @Override
11     public void learn() {
12         System.out.println("学习Html课程。。。");
13 
14     }
15 
16 }

View Code

如果一个学生要学习这两门课程,有以下三种实现方案:

1. 第一种:原始的多态方法

在Student类中增加两个方法,分别用来学习Java和Html,如下所示:

Spring的基础环境如何搭建

 1     
 4     public void learnJava(){
 5         ICourse course=new JavaCourse();
 6         course.learn();
 7     }
 8     
 9     
12     public void learnHtml(){
13         ICourse course=new HtmlCourse();
14         course.learn();
15     }

View Code

调用代码如下:

Spring的基础环境如何搭建

1 //第1种,最原始的多态方法
2 System.out.println("第1种,最原始的多态方法:");
3 student.learnJava();
4 student.learnHtml();

View Code

备注:此方案导致学生和课程之间形成强耦合关系,假如需要增加一种学习python语言的课程,需要增加接口的实现类(PythonCourse),修改Student类,增加learnPython方法,改动较大,或者有些学生只学其中一门课程,而另一些学生学两门课程,采用此方案会比较麻烦。

2. 第二种:采用简单工厂方法,将课程的创建抽离出来,由工厂统一管理。

在Student中增加一个学习(learn)方法:

Spring的基础环境如何搭建

1         
5     public void learn(String name){
6         ICourse course=CourseFactory.getCourse(name);
7         course.learn();
8     }

View Code

增加工厂类(CourseFactory)

Spring的基础环境如何搭建

 1 package com.hex.first;
 2 
 3 
 8 public class CourseFactory {
 9     
10     
15     public static ICourse getCourse(String name){
16         if(name.equals("java")){
17             return new JavaCourse();
18         }else{
19             return new HtmlCourse();
20         }
21     }
22 }

View Code

然后客户端调用时只需要传字符串就行。如下所示:

Spring的基础环境如何搭建

1 //第2种,简单工厂方法
2 System.out.println("第2种,简单工厂方法:");
3 student.learn("java");
4 student.learn("html");

View Code

备注:此方案虽然将对象的创建剥离出来,由工厂进行管理,但是课程的类型还是硬编码的,还是不够完善。

3. 第三种:采用Spring的方式,实现对象的动态注入

在学生类中增加学习方法,参数是ICourse接口:

Spring的基础环境如何搭建

1         
5     public void learn(ICourse course){
6         course.learn();
7     }
8

View Code

在Spring配置文件中,配置要注入的对象:

1 <!-- 两个对象,没有属性,不需要赋值 -->
2 <bean id="java" class="com.hex.first.JavaCourse"></bean>
3 <bean id="html" class="com.hex.first.HtmlCourse"></bean>

通过Spring来获取对象,实现动态控制:

Spring的基础环境如何搭建

1 //第3种,通过SpringIOC实现
2 System.out.println("第3种,通过SpringIOC实现:");
3 ICourse course=(ICourse)context.getBean("java");
4 student.learn(course);
5 ICourse course2=(ICourse)context.getBean("html");
6 student.learn(course2);

View Code

以上三种方式,均可以实现需求,至于采用哪种方案,可以依据具体实际场景而定。

“Spring的基础环境如何搭建”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Spring的基础环境如何搭建

本文链接: https://lsjlt.com/news/93622.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Spring的基础环境如何搭建
    本篇内容介绍了“Spring的基础环境如何搭建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 什么是Sp...
    99+
    2024-04-02
  • Windows下基础开发环境搭建
    1. jdk安装与配置 1.1 下载jdk1.8安装包 如果嫌麻烦可从阿里网盘下载,阿里网盘jdk1.8下载链接 官网下载链接 1.2 jdk1.8安装 磁盘根目录下新建developsoftw...
    99+
    2023-09-29
    windows java intellij idea redis mysql
  • 如何在spring环境中搭建websocket
    今天就跟大家聊聊有关如何在spring环境中搭建websocket,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。本文基于Apach Tomcat 8.0.3+MyEclipse+ma...
    99+
    2023-05-31
    spring websocket bs
  • 基于docker如何搭建caffe环境
    小编给大家分享一下基于docker如何搭建caffe环境,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!需求:构建一个独立的容器,里面安装了caffe 的所有依赖,...
    99+
    2023-06-07
  • 如何基于Anaconda搭建Django环境
    这篇文章主要为大家展示了“如何基于Anaconda搭建Django环境”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何基于Anaconda搭建Django环境”这篇文章吧。一、介绍Django...
    99+
    2023-06-25
  • tensorflow基于Anaconda环境如何搭建
    本篇内容主要讲解“tensorflow基于Anaconda环境如何搭建”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“tensorflow基于Anaconda环境如何搭建”吧!1.简介Tensor...
    99+
    2023-07-05
  • Lamp环境中如何搭建Mysql与PHP环境的搭建
    今天就跟大家聊聊有关  Lamp环境中如何搭建Mysql与PHP环境的搭建,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 Lam...
    99+
    2024-04-02
  • idea怎么搭建spring环境
    要搭建Spring环境,你需要以下步骤:1. 安装Java开发工具包(JDK):确保你已经安装了适当版本的JDK,并且配置了JAVA...
    99+
    2023-09-15
    idea spring
  • 如何搭建Hadoop的环境
    本篇内容主要讲解“如何搭建Hadoop的环境”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何搭建Hadoop的环境”吧!说明:这里我们以本地模式和伪分布模式伪列,为大家介绍如何搭建Hadoop...
    99+
    2023-06-02
  • 零基础学会Python编程——开发环境的搭建
    作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。   座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录  前言 学习目标 一.python 介绍  1.Python 的历史 2.Pyt...
    99+
    2023-09-09
    python 开发语言 原力计划
  • 如何搭建java环境?
    关于Java环境搭建这里做个解释,java开发式环境需要JDK(Java Development Kit),java运行式环境需要JRE(Java Runtime Environment)。由于JDK包含JRE,只需要安装JDK即可。JDK...
    99+
    2015-01-21
    java教程 java
  • 如何搭建MongoDB环境
    如何搭建MongoDB环境,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。从MongoDB的官网下载安装包:我安装在C盘的MyA...
    99+
    2024-04-02
  • 如何搭建zabbix环境
    这篇文章给大家分享的是有关如何搭建zabbix环境的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 zabbix配置文件[root@dba ~]# cat /usr/local/...
    99+
    2024-04-02
  • 如何搭建EF环境
    这篇文章主要介绍了如何搭建EF环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1.EF是什么EF是.net封装的一个用于数据库交互的实体层...
    99+
    2024-04-02
  • 如何搭建Vuex环境
    这篇文章主要介绍了如何搭建Vuex环境的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何搭建Vuex环境文章都会有所收获,下面我们一起来看看吧。 1. 概念 Vuex 是一...
    99+
    2024-04-02
  • 如何搭建Vue.js环境
    这篇文章主要介绍了如何搭建Vue.js环境,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。vue这个新的工具,确实能够提高效率,vue入门的精...
    99+
    2024-04-02
  • 如何搭建Node.js环境
    本文小编为大家详细介绍“如何搭建Node.js环境”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何搭建Node.js环境”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。安装 Node.js 环境Node.js ...
    99+
    2023-06-17
  • Java环境如何搭建
    本篇内容介绍了“Java环境如何搭建”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Java环境的搭建要运行Java程序,必须安装JDK。JD...
    99+
    2023-06-17
  • Vue3.0环境如何搭建
    这篇“Vue3.0环境如何搭建”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue3.0环境如何搭建”文章吧。使用vite初...
    99+
    2023-06-27
  • 如何搭建Mybatis环境
    这篇文章主要介绍如何搭建Mybatis环境,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Mybatis的简介:  MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache sof...
    99+
    2023-05-30
    mybatis
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作