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 ...
随机推荐
- 苹果公司揭秘首批列入 Swift 源代码兼容性开源项目清单
源代码兼容性是 Swift 未来的目标.为了实现这一目标,(苹果公司的 swift 编译器团队)建立了一个源兼容性测试套件,用于根据 Swift 源代码(逐渐增加)语料库对编译器进行回归测试更改. 添 ...
- gevent程序员指南
gevent程序员指南 由Gevent社区编写 gevent是一个基于libev的并发库.它为各种并发和网络相关的任务提供了整洁的API. 介绍 本指南假定读者有中级Python水平,但不要求有其 ...
- Ocelot中文文档-转换Claims
Ocelot允许用户访问claims并把它们转换到头部,请求字符串参数和其他claims中.这仅在用户通过身份验证后才可用. 用户通过身份验证之后,我们运行claims转换中间件.这个中间件允许在授权 ...
- 【转】Javascript全局变量var与不var的区别
相信你对全局变量一定不陌生,在函数作用域里用a=1这种形式定义的变量会是一个全局变量,在全局作用域里,用下面3种形式都可以创建对全局可见的命名: <script> var a = 1; b ...
- Java反射-修改private final成员变量值,你知道多少?
大家都知道使用java反射可以在运行时动态改变对象的行为,甚至是private final的成员变量,但并不是所有情况下,都可以修改成员变量.今天就举几个小例子说明. 基本数据类型 String类型 ...
- Vue.js——60分钟组件快速入门
一.组件简介 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小组件来构建大型应用,任意类型的应用界面都可以抽象为一个组件树: 那么什么是组件呢?组件可以扩展HT ...
- PAT1097:Deduplication on a Linked List
1097. Deduplication on a Linked List (25) 时间限制 300 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 ...
- 微信二维码支付-模式一(PC端,解决中文乱码问题)
近期公司调完银联,调支付宝,调完支付宝调微信.说实话微信的帮助文档确实是烂,而且有没有技术支持,害的我头发都掉了一桌.不说废话了,看代码. 首先登陆微信的公众平台(微信的服务号不是订阅号),然后选择微 ...
- springboot中logback打印日志
http://blog.csdn.net/fan510988896/article/details/54409790
- CoreData的简单使用
一.基础知识: CoreData是对SQLite的封装,使用的时候比较方便,减少对SQL语句的使用. CoreData中的核心对象 NSManagedObjectModel:代表Core Data 的 ...