解锁Spring框架姿势1
Spring
介绍:Spring 框架是一个Java平台,它为开发Java应用程序提供全面的基础架构支持。Spring负责基础架构,因此您可以专注于应用程序的开发。
Spring可以让您从“plain old Java objects”(POJO)中构建应用程序和通过非侵入性的POJO实现企业应用服务。此功能适用于Java SE的编程模型,全部的或部分的适应Java EE模型。
Ioc(依赖注入)
1、 What:以前创建对象需要自己主动去new,比较费劲,ioc模式提供ioc service provider,解决了被注入对象依赖被依赖对象问题,减低了耦合。
2、 依赖注入方式
a) 构造器注入
b) Setter注入
c) 接口注入,接口注入侵入性强,使用比较少
Ioc两个主要容器
Beanfactory容器(接口)
//The root interface for accessing a Spring bean container.
//访问Spring bean容器的根接口。
public interface BeanFactory {
String FACTORY_BEAN_PREFIX = "&";
//返回指定bean的实例,该实例可以是共享的或独立的。
Object getBean(String var1) throws BeansException;
//返回指定bean的实例,该实例可以是共享的或独立的。
<T> T getBean(String var1, Class<T> var2) throws BeansException;
//返回指定bean的实例,该实例可以是共享的或独立的。
<T> T getBean(Class<T> var1) throws BeansException;
//返回指定bean的实例,该实例可以是共享的或独立的。
Object getBean(String var1, Object... var2) throws BeansException;
//返回指定bean的实例,该实例可以是共享的或独立的。
<T> T getBean(Class<T> var1, Object... var2) throws BeansException;
//此bean工厂是否包含具有给定名称的bean定义或外部注册的singleton 实例?
boolean containsBean(String var1);
//这个bean是一个共享的单例吗?
boolean isSingleton(String var1) throws NoSuchBeanDefinitionException;
//这ben是原型吗?也就是说,{@link #getBean}总会返回独立实例吗?
boolean isPrototype(String var1) throws NoSuchBeanDefinitionException;
//检查具有给定名称的bean是否与指定的类型匹配。
boolean isTypeMatch(String var1, ResolvableType var2) throws NoSuchBeanDefinitionException;
//检查具有给定名称的bean是否与指定的类型匹配。
boolean isTypeMatch(String var1, Class<?> var2) throws NoSuchBeanDefinitionException;
//确定具有给定名称的bean的类型。更具体地说,*确定{@link #getBean}将为给定名称返回的对象类型
Class<?> getType(String var1) throws NoSuchBeanDefinitionException;
//返回给定bean名称的别名(如果有)。 *在{@link #getBean}调用中使用时,所有这些别名都指向同一个bean。
String[] getAliases(String var1);
}
Applicationcontext容器(接口)
public interface ApplicationContext extends EnvironmentCapable,
ListableBeanFactory, HierarchicalBeanFactory, MessageSource, ApplicationEventPublisher, ResourcePatternResolver {
//返回此应用程序上下文的唯一ID。
String getId();
//返回此上下文所属的已部署应用程序的名称。
String getApplicationName();
//返回此上下文的友好名称
String getDisplayName();
//首次加载此上下文时返回时间戳。
long getStartupDate();
//返回父上下文,如果没有父,则返回{@code null},这是上下文层次结构的根。
ApplicationContext getParent();
//为此上下文公开AutowireCapableBeanFactory功能。
AutowireCapableBeanFactory getAutowireCapableBeanFactory() throws IllegalStateException;
}
由继承关系可以看出Applicationcontext容器功能强于Beanfactory容器
参考:
http://ifeve.com/overview-getting-started-with-spring/
解锁Spring框架姿势1的更多相关文章
- Spring框架概述
Spring是最流行的Java企业级应用开发框架,全球数以百万的开发者在使用Spring框架创建高性能.易测试.可重用的代码. Spring框架的核心特性可以应用于任何Java应用,但扩展的JavaE ...
- 初识Spring框架实现IOC和DI(依赖注入)
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的, IoC是 ...
- Spring 框架的架包分析、功能作用、优点,及jar架包简介
Spring 框架的架包详解 Spring的作用 Spring的优势 由于刚搭建完一个MVC框架,决定分享一下我搭建过程中学习到的一些东西.我觉得不管你是个初级程序员还是高级程序员抑或 ...
- 最新 Eclipse IDE下的Spring框架配置及简单实例
前段时间开始着手学习Spring框架,又是买书又是看视频找教程的,可是鲜有介绍如何配置Spring+Eclipse的方法,现在将我的成功经验分享给大家. 本文的一些源代码来源于码农教程:http:// ...
- spring框架学习(三)
一.Spring自动组件扫描 Spring 提供组件扫描(component scanning)功能.它能从指定的classpath里自动扫描.侦测和实例化具有特定注解的组件. 基本的注解是@Comp ...
- Spring框架学习(一)
一. spring概述 Spring 框架是一个分层架构,由 7 个定义良好的模块组成.Spring 模块构建在核心容器之上,核心容器定义了创建.配置和管理 bean 的方式,如图 1 所示. 图 1 ...
- Spring 系列: Spring 框架简介 -7个部分
Spring 系列: Spring 框架简介 Spring AOP 和 IOC 容器入门 在这由三部分组成的介绍 Spring 框架的系列文章的第一期中,将开始学习如何用 Spring 技术构建轻量级 ...
- 使用 Spring Boot 快速构建 Spring 框架应用--转
原文地址:https://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/ Spring 框架对于很多 Java 开发人员来说都不陌生.自从 2 ...
- 【Spring】浅析Spring框架的搭建
c目录结构: // contents structure [-] Spring是什么 搭建Spring框架 简单Demo 1,建立User类 2,建立Test类 3,建立ApplicationCont ...
随机推荐
- C# combobox手动赋值
DataTable dt = new DataTable(); dt.Columns.Add("REPAIR_VALUE"); dt.Columns.Add("REPAI ...
- 缺少libtool依赖导致编译安装失败
今天安装一个测试数据库的过程中,编译安装rlwrap工具时出错. 如下. [root@DB1 rlwrap-0.37]# ./configure checking build system type. ...
- centos6装python3,并安装requests, lxml和beautifulsoup模块
一. 安装python3并设为默认版本,与python2共存 1.下载Python3.4安装包 wget https://www.python.org/ftp/python/3.4.4/Pytho ...
- 百度地图API —— 制作多途经点的线路导航
[百度地图API]如何制作多途经点的线路导航——驾车篇 摘要: 休假结束,酸奶小妹要从重庆驾车去北京.可是途中要去西安奶奶家拿牛奶饼干呢!用百度地图API,能不能帮我实现这个愿望呢? ------ ...
- CH2401 送礼物(双向dfs)
CH2401 送礼物 描述 作为惩罚,GY被遣送去帮助某神牛给女生送礼物(GY:貌似是个好差事)但是在GY看到礼物之后,他就不这么认为了.某神牛有N个礼物,且异常沉重,但是GY的力气也异常的大(-_- ...
- c语言-学生成绩信息系统
#include<stdio.h> #define N 100 int Count=0; struct stu { int num; char name[20]; int computer ...
- MongoDB wiredTiger存储引擎下的存储方式LSM和B-Tree比较
前段时间做拦截件监控的时候把拦截件生命期存入mongodb,因生命期有各种变化,因此对此表的更新写操作非常多,老大给我看了一篇文章,才知道mongodb已经支持lsm存储方式了. 原文如连接:http ...
- Dijkstra实现最短路径
#include<cstdio> #include<iostream> #include<algorithm> using namespace std; const ...
- Spark standalone简介与运行wordcount(master、slave1和slave2)
前期博客 Spark standalone模式的安装(spark-1.6.1-bin-hadoop2.6.tgz)(master.slave1和slave2) Spark运行模式概述 1. Stan ...
- Struts中Validate()和validateXxx的使用
Struts中Validate()和validateXxx的使用 学习struts2之后,你会发现validate在之前是没有的!它是怎么实现的呢? validate和validateXxxx都是拦截 ...