spring入门
- 1.为什么模块名字要用-连接。
- 2.java和resources路径下的,叫做类路径。
- 3.spring容器中map中,value是对象相关的信息,不是对象本身。
- 4.beanFactor和applicationContext接口区别:
- 5.读取配置文件的方式:
- 6.创建对象的方式
- 7.我们常用的创建对象的方式有三种:
- 8.要关闭容器,不能用多态。
- 9.bean一定要有无参构造,因为框架要用这个无参来反射,创建对象。
- 10.简单类型:8种基本类型+包装类+string。
- 11.优先用set进行依赖注入,再用构造依赖注入。
- 12.数据源:连接池或connection连接。
- 13.java正常创建与反射创建对象速度对比
- 14.java中new和反射的区别
- 15.spring核心配置文件,从哪里复制来的?
- 16.typora常用快捷键:
1.为什么模块名字要用-连接。
maven命名规范要求。
2.java和resources路径下的,叫做类路径。
3.spring容器中map中,value是对象相关的信息,不是对象本身。
4.beanFactor和applicationContext接口区别:
* BeanFactory(懒汉)
这是SpringIOC容器的顶级接口,它定义了SpringIOC的最基础的功能,但是其功能比较简单,一般面向Spring自身使用
BeanFactroy在第一次使用到某个Bean时(调用getBean()),才对该Bean进行加载实例化
* ApplicationContext(饿汉)
这是在BeanFactory基础上衍生出的接口,它扩展了BeanFactory的功能,一般面向程序员使用
ApplicationContext是在容器启动时,一次性创建并加载了所有的Bean
* 注意: 上面两种方式创建的对象都是单例,只是创建对象的时机不同
5.读取配置文件的方式:
这三个类的作用都是:读取配置文件, 初始化Spring的IOC容器, 不一样的是加载配置文件的位置
- ClassPathXmlApplicationContext 读取类路径下的xml作为配置文件
- FileSystemXmlApplicationContext 读取本地目录下的xml作为配置文件
- AnnotationConfigApplicationContext 读取一个Java类作为配置文件
6.创建对象的方式
* getBean() 用于从Spring容器中获取Bean对象,参数可以使用三种情况:
getBean("id") 使用bean的id从容器中查找对象
getBean(Bean.class) 使用bean的class类型从容器中查找对象
getBean("id", Bean.class) 使用bean的id 和 class类型从容器中查找对象
注意:
id只能唯一,不然会报错。
类名创建:一个类多个id,也会报错。(常用这个的注解方式。)
7.我们常用的创建对象的方式有三种:
注意:xml配置文件可以指定工厂。
1. 直接使用new关键字创建
(appcont,可以自己写工厂类)
2. 使用静态工厂创建
3. 使用实例化工厂创建
requst一次请求创建的对象都一样,,两次请求的话就不一样了,session,一次会话中,创建的对象都是一样的。
8.要关闭容器,不能用多态。
单例对象都在容器手里,没有真正给出去。
多例对象,生产完就给出去了。
9.bean一定要有无参构造,因为框架要用这个无参来反射,创建对象。
10.简单类型:8种基本类型+包装类+string。
data是数据,date是时间。
11.优先用set进行依赖注入,再用构造依赖注入。
构造依赖注入有循环依赖问题。
12.数据源:连接池或connection连接。
13.java正常创建与反射创建对象速度对比
普通方式:3ms
反射方式:1450ms
反射关闭检测方式:714ms
14.java中new和反射的区别
1:首先new出来的对象我们无法访问其中的私有属性
2:在使用new创建一个对象实例的时候必须知道类名
3:Java中反射属于动态编译,而new属于静态编译。
1、静态编译相当于把所有需要的东西都在初始化的时候加载了,如果程序一大,就很有可能会跑得慢。
2、动态编译,在编译的时候,需要的模块都没有编译进去,启动程序的时候,模块不会被加载而是在运行的时候,需要哪个模块就调用哪个模块。
15.spring核心配置文件,从哪里复制来的?
//编码期解耦,运行期耦合。。。
官网:https://docs.spring.io/spring-framework/docs/current/reference/html/core.html
16.typora常用快捷键:
https://blog.csdn.net/zywvvd/article/details/109457257?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164258883016780269897127%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164258883016780269897127&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allbaidu_landing_v2~default-6-109457257.first_rank_v2_pc_rank_v29&utm_term=+typora%E5%BF%AB%E6%8D%B7%E9%94%AE&spm=1018.2226.3001.4187