博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
解锁Spring框架姿势1
阅读量:7088 次
发布时间:2019-06-28

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

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 getBean(String var1, Class
var2) throws BeansException; //返回指定bean的实例,该实例可以是共享的或独立的。
T getBean(Class
var1) throws BeansException; //返回指定bean的实例,该实例可以是共享的或独立的。 Object getBean(String var1, Object... var2) throws BeansException; //返回指定bean的实例,该实例可以是共享的或独立的。
T getBean(Class
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容器

参考:

移动端公众号

欢迎关注公众号 布尔bl ,分享Java相关信息技术、生活感悟。

转载地址:http://zlfql.baihongyu.com/

你可能感兴趣的文章
Linux 系统里用户管理
查看>>
上汽集团数据业务部高级总监刘峰:突破瓶颈 激发数据生产力
查看>>
跟我一起数据挖掘(20)——网站日志挖掘
查看>>
HTTPS部署笔记
查看>>
如何优雅的编写 JavaScript 代码
查看>>
MySQL 聚合函数
查看>>
Ubuntu16.10安装Ocata之2:Keystone
查看>>
IGMPv3
查看>>
ZeroMQ(java)之Router/Dealer模式
查看>>
Linux下的文件查找命令
查看>>
TCP/IP协议碎碎念
查看>>
django 将表数据通过API展示到页面上
查看>>
linux用户登录检测发送邮件提醒
查看>>
个人见解 web性能优化
查看>>
中断优先级和中断线程优先级
查看>>
TFS 安装使用GCC4.4版本
查看>>
svn与web 同步更新
查看>>
通用社区登陆组件技术分享(开源)下篇:OAuth 源码下载及原理解说
查看>>
Windows Phone 7 程序等待页面的处理
查看>>
java.io.IOException: Connection reset by peer
查看>>