-
这里入如果是非无参状态会如何?
如果写了有参数的构造函数并且继承的父类中没有无参的构造函数会报错。
查看全部 -
难道说类实例需要小写的规范和这个有关2333
查看全部 -
这一块的限定扫描目前能想到的使用场景主要是:未完成的功能模块,未测试的新部分,需要后续开发的预留类……
查看全部 -
之前用是用,大多数照猫画虎
查看全部 -
构造器加载,在类加载构造体中生成IOC容器对象依赖的依然时TYPE方式加载,所以id名称无价值。
查看全部 -
这里因为没有实例autoWiringDAO对象,所以Service类中的say方法没有办法调用DAO类的实例方法,可是为什么没错误呢?
查看全部 -
对象中其它成员变量的依赖关系不再由配置文件中bean标签中定义,而是通过set方法的设置,在加载IOC容器时,通过名称自动赋值
查看全部 -
相当于从集合中通过id名称获取对象(看上去似乎时类似操作)?
查看全部 -
此处接口必须实现的方法是一个在加载时就会执行的set方法,在IOC容器中生成对象后,因为后面调用的就是之前生成的容器中的这个对象,所以hash值相同,是为一个对象。
查看全部 -
2-1 IoC及Bean容器
1.接口
用于沟通的中介物(规范)的抽象化
对外提供一些功能,内部的实现不公开
Java中,接口即声明,声明了哪些方法是对外公开提供的
Java8中,接口可以有方法体
2.面向接口编程
结构设计中,分清层次及调用关系,每层只向外(上层)提供一组功能接口,各层间仅依赖接口而非实现类
接口实现的变动不影响各层间的调用,这一点在公共服务中尤为重要
“面向接口编程”中的“接口”是用于隐层具体实现和实现多态性的组件
例子:
接口Dao,实现类DaoImpl,使用方法为多态Dao dao = new DaoImpl();用接口声明,将接口的实现类赋值给接口,最后调方法
3.IoC
IoC:控制反转,控制权的转移,应用程序本身不负责依赖对象的创建和维护,而是由外部容器负责创建和维护(住房子不是自己来建,而是找中介——中介找房子——住中介找的房子,即IoC的动作:找IoC容器——容器返回对象——使用对象)
DI:依赖注入,是IoC的一种实现方式,目的是创建对象并组装对象之间的关系
IoC中,所有的容器称为Bean
4.Bean容器的初始化
(1)基础:两个包org.springframework.beans和org.springframeword.context
BeanFactory提供配置结构和基本功能,加载并初始化Bean
ApplicationContext是BeanFactory的子接口,保存了Bean对象并在Spring中被广泛使用
他们都可以代表Spring容器,Spring容器是生成Bean实例的工厂,并管理Bean
在创建Spring容器的实例时(通过getBean方法),必须提供Spring容器管理的Bean的详细配置信息,Spring的配置信息通常通过xml配置文件来设置(也可通过注解)。
在实际的应用中,Spring容器通常是采用声明式方式配置产生:即开发者只要在web.xml文件中配置一个Listener,该Listener将会负责初始化Spring容器。
实现BeanFactoryAware接口的Bean实例,拥有访问BeanFactory容器的能力
就是说,ApplicationContext用来管理Bean,可以通过xml配置文件或注解的方式来将Bean注册到ApplicationContext中
(2)初始化ApplicationContext的方式
1°本地文件
FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("F:/workspace/ applicationContext.xml");
2°Classpath
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
3°Web应用中依赖servlet或Listener
a.
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener<listener-class>
<listener>
b.
<servlet>
<servlet-name>context<servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet<servlet-class>
<load-on-startup>1<load-on-startup>
<servlet>
查看全部 -
1-3 Spring框架
1.框架
(1)定义:一套规范或规则,程序员在该规范或规则下工作
(2)特性:半成品,封装了特定的处理流程和控制逻辑,成熟的、不断升级改进的软件
(3)与类库的区别:框架一般是封装了逻辑、高内聚的,类库则是松散的工具组合;框架专注于某一领域,类库则是更通用的
(4)为什么使用框架:软件系统日趋复杂;重用度高,开发效率和质量提高;软件设计人员要专注于对领域的了解,使需求分析更充分;易于上手、快速解决问题
查看全部 -
1-2 Spring概况
1.一个轻量的控制反转(IoC)和面向切面(AOP)的容器框架
(1)从大小和开销两方面而言,Spring是轻量的
(2)通过控制反转达到松耦合的目的
(3)提供面向切面编程的丰富支持,允许通过分离应用的业务逻辑(如商品的入库)与系统级服务(如日志记录)进行内聚性的开发
(4)包含并管理应用对象的配置和生命周期,这个意义上是一种容器(容器:用来管理对象)
(5)将简单的组件配置、组合成为复杂的应用,这个意义上是框架(框架:半成品,支持其他组件的组合)
2.Spring作用
容器、提供对多种技术的支持、AOP(事务管理、日志)、提供了众多方便应用的辅助类(JDBC 模板等)、对主流应用框架(MyBatis)提供了良好的支持
3.适应范围
(1)构建企业应用(SpringMVC+Spring+MyBatis)
(2)单独使用Bean容器进行管理
(3)单独使用AOP进行切面处理
(4)其他的Spring功能,如:对消息的支持
(5)在互联网中的应用
查看全部 -
第一章 概述
1-1 Spring入门课程简介
SpringFrameWork
查看全部 -
IOC容器在加载时,会扫描xml里的配置并实例化bean。
注入:在创建过程中完成对成员变量的赋值
常用注入方式:设值注入(java封装的setter、getter方法),构造注入(创建一个构造器)
查看全部 -
classpath:相对路径
查看全部
举报