博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring简单入门示例
阅读量:5240 次
发布时间:2019-06-14

本文共 2045 字,大约阅读时间需要 6 分钟。

1 控制反转IOC\依赖注入DI,因为翻译的不同,因此有两个名字。

      控制反转意思就是说,当我们调用一个方法或者类时,不再有我们主动去创建这个类的对象,控制权交给别人(spring)。

  依赖注入意思就是说,spring主动创建被调用类的对象,然后把这个对象注入到我们自己的类中,使得我们可以使用它。

  

  举个简单的例子,程序猿加班了一个月,很累,想要放松下,于是去找人吃“麻辣烫”。

  不使用spring的传统做法是,我们自己通过陌陌微信等神器,主动寻找目标,花费大量人力物力,达成协议后,申请“场所”办正事。

  而使用spring的做法就很方便了,我们直接去某个场所,那个地方直接就有目标候着!

  这是多么神奇的功能啊!

2 AOP面向切面编程

  我们把一个方法看做是一个切面,在这个切面的前后或者周围,都可以设置其他的处理方法,进行一些特殊的处理。

 

  比如一个“吃蛋糕”的方法,在这个方法前需要“拆包装”,方法后需要“打扫卫生”,都可以通过这种编程方式来实现。

 

 

 

  那么下面看下它的编码过程!

 

  1 首先我们需要一个bean,用某种方法(设置注入需要有setter函数,构造注入需要有构造函数,相应的bean.xml配置文件也会不同)设定注入方式。

 

  2 bean.xml,设置bean与类的关系,并关联默认的注入值。

 

  3 获取bean.xml文件,创建实例对象,直接调用方法。

 

  可以看到,我们开发的程序只有第三步的“创建实例对象,直接调用方法”,并没有为他进行初始化等工作,就可以直接调用它的方法,获取它的值。其实spring在程序初始化的时候,就会为我们把bean对应的对象注入进来,帮助我们完成初始化,因此我们只要通过一个引用对象,就可以直接调用了。

 

 

 

最后我们写一个简单的依赖注入的小样例!

 

  1 需要的jar包和文件结构

 

  jar包下载地址:http://pan.baidu.com/s/1sjDbzrR

 

  

 

  2 bean.xml配置文件,放在src目录下

1 
2
6
7
8
9
10

    3 Person类,这里使用的是set设置注入方式

 

1 package com.test.bean; 2  3 public class Person { 4      5     private String name; 6     private int age; 7      8     public String getName() { 9         return name;10     }11     public void setName(String name) {12         this.name = name;13     }14     public int getAge() {15         return age;16     }17     public void setAge(int age) {18         this.age = age;19     }20     public void info(){21         System.out.println("一起来吃麻辣烫!");22         System.out.println("name:"+getName()+" age:"+getAge());23     }24 }

 

4 test类

 

1 package testSpring; 2  3 import org.springframework.context.ApplicationContext; 4 import org.springframework.context.support.ClassPathXmlApplicationContext; 5  6 import com.test.bean.Person; 7  8 public class test { 9     public static void main(String[] args){10         ApplicationContext ctx = new ClassPathXmlApplicationContext("bean.xml");//读取bean.xml中的内容11         Person p = ctx.getBean("person",Person.class);//创建bean的引用对象12         p.info();13     }14 }

 

  5 执行结果

 

转载于:https://www.cnblogs.com/UniqueColor/p/5690843.html

你可能感兴趣的文章
【洛谷】[FJOI2018]领导集团问题
查看>>
《springcloud 三》分布式配置中心
查看>>
Java基础知识强化之集合框架笔记06:Collection集合存储自定义对象并遍历的案例...
查看>>
Android(java)学习笔记25:Android 手机拨号
查看>>
Linux ftp访问控制配置,包括访问ftp权限和访问ftp目录权限
查看>>
leetcode[148]Sort List
查看>>
ES6 Array扩展 学习笔记
查看>>
Swoole WebSocket 的应用
查看>>
Linux源码编译安装nginx
查看>>
Java异常知识处理_NoClassDefFoundError和ClassNotFoundException有什么区别
查看>>
[bbk5388] 第91集 -第11章 -数据库诊断 07
查看>>
CentOS7 安装 JIRA 7.2.x 教程:下载、安装、汉化、破解
查看>>
iOS RunTime你知道了总得用一下
查看>>
unity使用深度优先搜索算法自动生成随机迷宫
查看>>
python全栈开发-Day12 三元表达式、函数递归、匿名函数
查看>>
末公开的存储过程.txt
查看>>
Photoshop剪切板故障修复
查看>>
TCPDF 5.9.195 发布 - PHP PDF 生成工具
查看>>
GFeedLine 2.0.4 发布,社交网络客户端
查看>>
Windows Service 的注册和卸载
查看>>