hello spring春天来了
这是小小小零食 废话不多说 现在看到
spring这个管家

先说第一个 ioc :在每个框架的中都有一个容器的概念,所谓的容器就是将常用的服务,封装起来,然后,用户只需要遵循一定的规则,就可以达到统一、灵活、安全、方便、快速的目的。
IOC是一个依赖注入DI(Dependence Injection)的方式达到控制反转目的的框架。
控制反转:的优势在于将服务交给容器。 换句话说 你可以把ioc容器当作一个罐子 然后嘞把 不同的操作比如什么dao 什么bean(domain) impl(降低耦合度== )什么的当作不同口味的果汁
然后分别一层一层的把他们放进 ioc这个罐子里面 用一层塑料薄膜把他们隔开= = 然后你可以插插根管子 插进每一层 比如你然后呢 你就可以靠这管子 可以插进不同层 混合在一起了= =当然这根管子有点特殊 为了安全起见了 你还可以 分管子 比例酸酸的用一根 甜的用一根= 后面的自行脑补..
面向切面编程了 理解字面意思 切面 = 也就是可以在 一个物体上 开一个小面你可以放入 一块木板 当然也可以把这块木板取出来= =这叫做可插拔式 具体的了
当然这都是后话了 先来毕竟标题是hello spring 滑稽 OK 做出hello spring主要有两个步骤 当你搭建好 spring 框架需要一个 java(bean)类 一个xml配置文件 以及一个 test类 话不多说 上步骤
先是一个bean类
package com.java.bean;
public class Myspringx {
private String name;
private String gender;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
@Override
public String toString() {
return "Myspringx{" +
"name='" + name + '\'' +
", gender='" + gender + '\'' +
'}';
}
}
这个很简单 只需要 set get +tostring即可 然后是配置文件 = =这个配置文件的名字了最好跟你的page的名字挂上钩 当然我这个比较扯淡 叫做bean-bean.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">
<bean id="mysprings" class="com.java.bean.Myspringx">
<property name="name" value="张三"></property>
<property name="gender" value="boy"></property>
</bean>
<!-- <bean id="he" class="com.java.bean.He">
<property name="addres" value="非洲"></property>
<property name="age" value= "17"></property>
<property name="fuck" value="是你"></property>
</bean>-->
</beans>
再加上test类
package test.com.java.bean;
import com.java.bean.Myspringx;
import org.junit.Test;
import org.junit.Before;
import org.junit.After;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.Arrays;
/**
* Myspringx Tester.
*
* @author <Authors name>
* @since <pre>���� 8, 2017</pre>
* @version 1.0
*/
public class MyspringxTest {
@Before
public void before() throws Exception {
}
@After
public void after() throws Exception {
}
/**
*
* Method: getName()
*
*/
@Test
public void testGetName() throws Exception {
ApplicationContext ac =new ClassPathXmlApplicationContext("beanx.xml");
/* 这个名字要和 xml里面的一样 */
Myspringx mysprings = (Myspringx) ac.getBean("mysprings");
System.out.println(mysprings.getGender()+mysprings.getName());
/*这个 获取bean的名字 而已*/
/* String[] names =ac.getBeanDefinitionNames();
System.out.println(Arrays.toString(names));*/
}
}
ok hello spring 水文完成..
hello spring春天来了的更多相关文章
- 照虎画猫写自己的Spring
从细节跳出来 看了部分Spring的代码,前面用了四篇内容写了一些读书笔记. 回想起来,论复杂度,Spring够喝上好几壶的.他就像一颗枝繁叶茂的大树,远处看,只是一片绿:走近看,他为你撑起一片小天地 ...
- 转:为什么要有Spring?
Java后端技术https://mp.weixin.qq.com/s?__biz=MzI1NDQ3MjQxNA==&mid=2247484822&idx=1&sn=6fbee2 ...
- Spring容器
1.Spring简介: a)Spring春天 b)官网:https://spring.io c)设计理念:轮子理念,不要重复创造轮子: d)Spring可以被理解为一个容器,用于管理其他的框架: e) ...
- Spring总结————spring核心Core
一.spring的概念 spring是一个开源的,轻量级控制反转和面向切面的容器框架,解决企业应用开发的复杂性,降低耦合,更易于测试. spring春天.如果写一个小的项目,我们可以在项目中想创建一个 ...
- 13、Spring教程之全部(包括所有章节)
Spring 教程 1.Spring概述 简介 Spring : 春天 --->给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架. ...
- 1、Spring教程之Spring概述
1.Spring概述 简介 Spring : 春天 --->给软件行业带来了春天 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架. 2004年3月24 ...
- 五分钟,手撸一个Spring容器!
大家好,我是老三,Spring是我们最常用的开源框架,经过多年发展,Spring已经发展成枝繁叶茂的大树,让我们难以窥其全貌. 这节,我们回归Spring的本质,五分钟手撸一个Spring容器,揭开S ...
- 0029 Java学习笔记-面向对象-枚举类
可以创建几个对象? n多个:大部分的类,都可以随意创建对象,只要内存不爆掉 1个:比如单例类 有限的几个:采用单例类的设计思路,可以只允许创建少数的几个特定的对象:还有就是枚举类. 创建少数几个对象, ...
- Java之enumeration(枚举)
enumeration(枚举)是JDK1.5引入的新特性,放在java.lang包中. 1.枚举类方法介绍 package com.enums; public class TestEnum { pub ...
随机推荐
- java并发包分析之———Atomic类型
一.何谓Atomic? Atomic一词跟原子有点关系,后者曾被人认为是最小物质的单位.计算机中的Atomic是指不能分割成若干部分的意思.如果一段代码被认为是Atomic,则表示这段代码在执行过 ...
- 【转】火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法
关于 GCJ-02 和 BD-09 ,请参考 http://developer.baidu.com/map/question.htm#qa0043 . 算法代码如下,其中 bd_encrypt 将 G ...
- Kali Linux Live USB初始化+使用日记
1.Live USB制作官方guide:Making a Kali Bootable USB Drive:https://docs.kali.org/downloading/kali-linux-li ...
- ADT Android开发环境搭建小记
1.之前因为产品方向原因,Android开发暂时搁浅,最近重新启动,SDK Manager.exe不能启动的话用启动\sdk\tools\adroid.bat即可启动SDK Manager.exe 2 ...
- Android 加载GIF图最佳实践
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/75578109 本文出自[赵彦军的博客] 起因 最近在项目中遇到需要在界面上显示一个 ...
- JavaScript函数节流和函数防抖之间的区别
一.概念解释 函数节流和函数防抖,两者都是优化高频率执行js代码的一种手段. 大家大概都知道旧款电视机的工作原理,就是一行行得扫描出色彩到屏幕上,然后组成一张张图片.由于肉眼只能分辨出一定频率的变 ...
- PHP 中的 __FILE__ 和__DIR__常量
__DIR__ :当前内容写在哪个文件就显示这个文件目录 __FILE__ : 当前内容写在哪个文件就显示这个文件目录+文件名 比如文件 b.php 包含如下内容: <?php $basedir ...
- Web3与智能合约交互实战
写在前面 在最初学习以太坊的时候,很多人都是自己创建以太坊节点后,使用geth与之交互.这种使用命令行交互的方法虽然让很多程序员感到兴奋(黑客帝国的既视感?),但不可能指望普通用户通过命令行使用Dap ...
- 使用 GNU profiler 来提高代码运行速度
各种软件对于性能的需求可能会有很大的区别,但是很多应用程序都有非常严格的性能需求,这一点并不奇怪.电影播放器就是一个很好的例子:如果一个电影播放器只能以所需要速度的 75% 来播放电影,那么它几乎就没 ...
- java里的堆内存于栈内存的区别
这个区别对于我们来说并不大,这是内存分配的两种方法.一般代码逻辑,简单变量,结构体都是放入栈中,而对象,以及被装箱的数据是放入堆中的.简单来说,栈就是一个很长的栈(数据结构中的栈,如果不理解可以当做是 ...