spring是一个框架,这个框架可以干很多很多的事情。感觉特别吊。但是,对于初学者来说,很难理解spring到底是干什么的。我刚开始的时候也不懂,后来就跟着敲,在后来虽然懂了,但是依然说不明白它到底是干啥的。看了好多的老师的视频,发现也都不适合小白。于是就想写一篇适合小白看的spring入门,也许可以帮助一部分心学习spring的同学吧。

                                                                       ————扯淡完成

  spring入门案例

    spring到底是个什么东西,这个是我们先放一放,首先,spring是一个可以把我们的对象自动实例化的一个框架,我们今天先演示下这个。我们知道,在我们程序执行的过程中,所有的代码最后运行完都会在内存中有体现的。比如说,我写了如下代码

   public class User{
    private String userName;
    public void setUserName(String userName){
      this.userName = userName;
    }
    public String getUserName(){
      return this.userName;
    }
   }  User user = new User();

    当new这句代码执行的时候,我们的user类就加载到内存中去了。而在我们的spring框架中,你只需要引入spring的核心包(百度一下,网上就可以下载),然后在主目录下创建一个applicationContext.xml文件。内容如下: 

<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd "> </beans>

    然后我们就在里面将我们的User类配置进去。这里的bean的Id就是我们的对象名称。class就是我们的类的全路径。UserName对应的是User类中的属性名称,张三是我们要给它赋的值。代码如下:

    

 <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">
<bean id ="user" class="com.spring.User">
<property name="userName" value="张三" />
</bean> </beans>

    我们可以这么理解:在spring框架加载后,会自动在我们的spring框架加载的时候,它就会将我们配置的类自动创建出一个对象,然后将对象放入内存。然后调用对象的setUserName的方法,将张三的值,赋值给这个对象。

    那么它是怎么实现的呢?其实就是通过我们的反射机制去实现的。通过类的全路径读取到User的class文件,接下来就啥都可以了。  

    配置完以后,我们就需要使用spring来完成我们的对象自动实例化,然后得到这个对象。怎么做呢?

    首先我们要得到一个对象,可以为我们提供我们配置的所有对象。这个对象就是spring的容器对象。在它的构造方法中,可以将我们刚才配置的文件以字符串的形式传入进去,然后得到一个新的对象。通过新得到的这个对象,将我们的User对象获取。代码如下:

     public static void main(String[] args){
//这里是为了获取application对象,这个对象可以产生我们自己配置的对象。
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationcontext.xml");
//得到我们自己的对象
User user = (User)applicationContext.getBean("user");
//得到用户名
String userName =user.getUserName();
//打印
System.out.println(userName); }

    然后运行代码,得到结果为:张三。说明我们的入门程序成功。

spring入门--spring入门案例的更多相关文章

  1. SSM-Spring-01:Spring的概念+入门案例

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- Spring 提起Spring,就会想到企业级框架这个词 企业级系统: 1.大规模:用户数量多,数据规模庞大, ...

  2. Spring Boot【快速入门】简单案例

    Spring Boot[快速入门]   Spring Boot 概述 Build Anything with Spring Boot:Spring Boot is the starting point ...

  3. Spring Mvc的入门

    SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的. Spring Web MVC是什么: Sprin ...

  4. [Spring框架]Spring AOP基础入门总结一.

    前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...

  5. Spring Boot 快速入门笔记

    Spirng boot笔记 简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发 ...

  6. Spring Cloud Gateway入门

    1.什么是Spring Cloud GatewaySpring Cloud Gateway是Spring官方基于Spring 5.0,Spring Boot 2.0和Project Reactor等技 ...

  7. Solr学习笔记(5)—— Spring Data Solr入门

    一.Spring Data Solr简介 前面已经介绍了通过solrJ来操作solr,那么我们如何将Solr的应用集成到Spring中?Spring Data Solr就是为了方便Solr的开发所研制 ...

  8. SSM(spring mvc+spring+mybatis)学习路径——1-1、spring入门篇

    目录 1-1 Spring入门篇 专题一.IOC 接口及面向接口编程 什么是IOC Spring的Bean配置 Bean的初始化 Spring的常用注入方式 专题二.Bean Bean配置项 Bean ...

  9. spring security 简单入门

    spring security 简单入门示例 一.概述 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架 . 其中最主要的安全操作有两 ...

  10. Spring MVC -- Spring MVC入门

    本篇博客首先介绍Spring MVC的优点,然后介绍Spring MVC的基本组件,包括DispatcherServlet,并学习如何开发一个“传统风格”的控制器,这是在Spring 2.5版本之前开 ...

随机推荐

  1. Eclipse Java EE IDE for Web Developers集成的Maven 3 指向自己安装的 Maven

    一.配置Maven环境 1.下载apache-maven文件,选择自己需要的版本,地址:Apache 官方下载地址是http://maven.apache.org/download.cgi 2.下载并 ...

  2. 函数和对象 及 prototype和__proto__

    对象有  __proto__ 函数有 prototype 对象的__proto__指向构造自己的函数的prototype 但有一例外 var Obj = {v:99}var pObj = Object ...

  3. docker push到私有仓库

    1.登录 docker login http://xxxxx.com 2.登录私有hub创建项目 例如项目叫:abc-dev 2.给镜像打tag docker tag 2e25d8496557 xxx ...

  4. USB HID设备报告描述符详解(转)

    转自:http://group.ednchina.com/93/198.aspx. 参考:USB HID usage table 概述:   报告在这里意思是数据传输(data transfer),而 ...

  5. JavaScript常见的代码精简

    1.&& callback && callback() 等价于: if(callback){ callback(); } 表达的意思: 先判断 callback 是不是 ...

  6. Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication

    Percona XtraDB Cluster vs Galera Cluster vs MySQL Group Replication Overview Galera Cluster 由 Coders ...

  7. 开源ERP系统Odoo搭建文档

    本文参考链接地址: https://devecho.com/v/209/ https://www.cnblogs.com/wxylog/p/6386974.html 什么是Odoo 为什么选择Odoo ...

  8. Memcached 使用备注

    ICSharpCode.SharpZipLib未能加载文件或程序集 Memcached使用的是0.84版本的dll,vs2013带的是0.86版本 在web.config中<runtime> ...

  9. sysctl-p报错:error: "net.bridge.bridge-nf-call-ip6ta

    1.刚配置完sysctl,加载时报错:[root@itpux1 yum.repos.d]# sysctl -pnet.ipv4.ip_forward = 0net.ipv4.conf.default. ...

  10. leetcode647

    class Solution { public: ][],int i,int j){ if(i>=j){ return true; } else{ return DP[i][j]; } } in ...