每天背诵

static
1. 注意:(有关子类继承父类时,遇到静态方法“隐藏”的问题)
a) 子类无法覆写父类的方法(这个不叫作覆写,叫做隐藏),调用什么方法取决于引用的类型时子类还是父类。
b) 静态方法不能覆盖非静态方法,非静态方法不能覆盖静态方法。

2. Final 的意义
修饰类,不能被继承
修饰方法,不能被覆写
修饰属性,表示改属性不能被改写(常量)

3. 注意:final 必须赋初值
1)final类型的变量必须显示的赋初值
2)或者在构造方法中赋初值(有两个构造方法,都需要赋初值)

4. 静态代码块
a) 静态代码块先于构造方法
(执行时机:硬盘上将class文件加载到jvm的时候执行)
构造方法是在生成对象的时候执行


原生数据类型内存中,指向值本身
引用数据类型内存中,指向一个地址,保存着对目标的引用


1. 接口中的方法都是 抽象的、public
2. 接口中的成员变量 都是public 、static 、final


1. Protected 相同包访问 该类的子类也可以访问
默认的区别 相同包访问


2. 关键字instanceof
a) 判断某个对象是否是某个类的实例


1. 覆写了equals()方法
内部将字符串内容变成char[]进行比较


2. String str=new String(“ccc”);
String str2=new String(“ccc”);
str=str2 false

String str=”ccc”;
String str1=”ccc”;
Str==str1 true
理由:string是一个常量,值是不能被改变的
Java会维护一个StringPool
(内存中所有new的对象都在堆中创建
字符串池是栈)

a) 每次通过String=”bbb”(字面赋值)方式都会检查stringPool是否存在内容相同的对象,如果存在直接将引用指向字符串池里面的对象。
b) 通过new的方式创建字符串对象
也是检查栈中是否存在字符串对象,不存在就在stringPool中创建对象,但无论stringPool中有无内容相同对象都会new 一个新的String 对象。


3. Intern方法
返回stringPool里面的内容与调用intern方法的对象的内容相同的对象。
如果stringPool中不存在内容相同的对象,在池中放入这个对象,并将放入对象地址返回。


static
1. 注意:(有关子类继承父类时,遇到静态方法“隐藏”的问题)
a) 子类无法覆写父类的方法(这个不叫作覆写,叫做隐藏),调用什么方法取决于引用的类型时子类还是父类。
b) 静态方法不能覆盖非静态方法,非静态方法不能覆盖静态方法。

2. Final 的意义
修饰类,不能被继承
修饰方法,不能被覆写
修饰属性,表示改属性不能被改写(常量)

3. 注意:final 必须赋初值
1)final类型的变量必须显示的赋初值
2)或者在构造方法中赋初值(有两个构造方法,都需要赋初值)

4. 静态代码块
a) 静态代码块先于构造方法
(执行时机:硬盘上将class文件加载到jvm的时候执行)
构造方法是在生成对象的时候执行


原生数据类型内存中,指向值本身
引用数据类型内存中,指向一个地址,保存着对目标的引用


1. 接口中的方法都是 抽象的、public
2. 接口中的成员变量 都是public 、static 、final


1. Protected 相同包访问 该类的子类也可以访问
默认的区别 相同包访问


2. 关键字instanceof
a) 判断某个对象是否是某个类的实例


1. 各种包的介绍
1) Core 提供了IOC,作用:从程序逻辑中分离出来依赖关系
2) Context ?
3) Jdbc
4) Orm
5) Aop
6) Web 多方文件上传,利用servlet listeners 进行ioc 初始化

2. beanFactory 和applicationContext区别
a) applicationContext 功能更强(资源处理(国际化)、更易于aop的集成、事件传递等)

3. BeanFactory 是IOC的核心接口,建立对象及对象间依赖关系


4. Spring Ioc 实例化容器
ApplicationContext context = new ClassPathXmlApplicationContext();
<beans>
<import resource="config/aop.xml"/>
<import resource="config/beans.xml"/>
<import resource="config/services.xml"/>
<bean/>

</beans>

5. 在当前位置为那些别处定义的bean引入别名
<alias name=”fromName” alias=”toName”/>


6. 静态内部类配置<bean>
Com.example.Foo$Bar 用$分隔


7. Bean 的class属性用途
a) 直接通过反射调用类的构造方法创建bean
b) 调用类的静态工厂方法创建bean实例,class将指向实际具有静态工厂方法的类


8. Bean的创建方式
1) 通过构造器来创建对象
<bean id=”exampleBean” class=”ExampleBean”>
只需要提供无参构造方法
2) 实例工厂方式创建bean
<bean id=”exampleBeanFactory” class=””/>
<bean id=”exampleBean”
factory-bean=”serviceLocator”
factory-method=”createInstance”>


public class ExampleBeanFactory {
public ExampleBean createInstance(){
return new ExampleBean();
}
}


9. 不适用getBean()减少我们队springAPI 的依赖


10. 依赖关系的注入方式
1) setter注入
<bean id=”example” class=””>
<property name=”” ref=””/>
<property name=”” value=”12”>


2) 构造器注入
基于带参数的构造器来实现
<bean id=”exampleBean” class=””>
<constructor-arg type=”int” value=”123”/> 值类型属性配置
<constructor-arg type=”string” value=””/> String类型
<constructor-arg >
<bean class=””/> 对象类型
<constructor-arg/>

3) 静态工厂方法创建bean,并进行DI
Public class ExampleBean{
private ExampleBean(int a,…)
}
Public static ExampleBean createInstance(int a,…){
Example eb=new ExampleBean(a,…);
return eb;
}


Xml配置
<bean id=”exampleBean” class=”静态工厂方法类”
Factory-method=”createInstance”>
<constructor-arg value=”1”/>
<constructor-arg ref=””/>
</bean>

11. Spring只有在创建bean的时候 去设置依赖关系


12. Idref 元素
将容器内其他bean的id传递给<constructor-arg/> <property/>
<bean id=”targetBean” class=””/>
<bean id=”clientBean” class=””>
<property name=”targerName”>
<idref bean=”targetBean”/>
</property>
</bean>
但是这样的传递方式在spring启动(解析xml)时并不会验证,只有在创建时才验证


13. 如果 bean在同一个xml 且bean的名字就是bean id,那么可以用local属性.


14. Ref parent 引用当前xml的父xml的元素id或者name

<bean id=”accountService” class=””>
<property name=””>
<ref parent=””>
</property>
</bean>


15. 内部bean:在一个bean的<property>或<constructor-arg/>元素使用<bean>

<bean id=”outer” class=”…”>
<property name=”target”>
<bean class=”” >
<property name=”name” value=”Fiona apple”/>
</bean>
</bean>
内部bean的id、name、scope会被忽略,总是匿名、prototype的


16. 集合


17. Nulls
<null/>


18. Depend-on e.g.类中的静态模块初始化时,数据库驱动的注册
a) Depends-on属性可以用于当前bean初始化之前显示地强制一个或多个bean初始化

<bean id=”beanOne” class=”ExampleBean” depends-on=”manager,accountDao”>
<property name=”manager” ref=”manager”/>
</bean>
<bean id=”manager” class=”managerBean”>
<bean id=”account” class=”x.y.jdbc.JdbcAccountDao”/>


19. 延迟初始化<bean> lazy-init=”true”


20. Autowire 自动装配 协作者


21. 方法注入:在调用一个singleton类型bean A 的某个方法时,需要引用另一个prototype类型的bean B ,对于A来说容器只会创建一次,这样没法再需要的时候每次让容器为bean A提供一个新的bean B实例。
解决办法:放弃控制反转,通过实现beanFactoryAware p58


22. Bean的作用域
Web :reqeust、session、global session
Local: prototype、singleton


23. 要使用request、session、global session
a) 配置<web-app>
<listener-classs>org.springframework.web.context.request.RequestContextListener</listener-class>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值