inversion 反向 additivity 可加
未来要学习的:全文检索,微服务,springclound
tomcat是jsp、servlet的容器 weblogic 则可以容纳ejb。
ejb产生的目的是为了调用不同虚拟机的类和对象。(你电脑上的jvm的东西(如你的堆里面的对象)不能被其他电脑调用。)
Spring非官方的社区驱动的对javaee的补充。
核心容器,大的hashmap放很多对象,根据你的需要去创建(并帮我们管理,ioc帮我们把两个对象帮绑一块。userservice、userdao)。 AOP可以帮我们创建代理对象(就是创建对象,并且在对象创建前后做一些事情(我猜))。动态帮我们创建代理,在代理里面我们记录日志等。
前后端分离:第一次请求页面结构(web服务器,不需要tomcat),第二次请求请求数据(tomcat)。
spring-context 这个jar包 对应的是core container,这里面的aop只是基础的aop。
spring的配置文件 一般是 application.xml
spring就相当于一个大的hashmap。
如 classpath xml applicationcontext(“这就相当于是hashmap”)
导入context包,配置文件。
jul(java.util.log包下)、log4j1(人做好提交到apache,最先出现的)、后来那个人就不干了 搞了logback、后来apchae搞了一个log4j。
日志门面有commons-logging\slf4j\log4j2-api --- 他们来调用\logback(对应slf4j(一般来说是,其实对应哪个都行))\log4j2
log4j里面的file可以设置是否append(true的话追加,否则,下一次启动就清除)
additivity 这个属性设置为true,则父类打印了一遍信息,子类还会进行打印。
api我们可能会用到的接口,类。
log4j日志级别。
inversion of control 反向控制/dependecy injection (让框架棒我们new dao和service,然后调用service 的setdao方法)
一个东西,作用
1、创建对象,
2、有需要的话进行依赖注入,就是对象之间的引用
使用反射床架你对象。
class.forname().
class.newInstance.
四种创建对象的方法。
bean
实例工厂:得实例化工厂
静态工厂:工厂是静态的,不需要实例化。
实现接口的工厂。
依赖注入:往里传对象的这种特征就叫做依赖注入,如userService依赖注入userdao
三种依赖注入。
setUserdao、构造方法(传入Userdao)
反射可以修改成员的可见性。
注入可以注入基本类型、string、引用类型、集合、数组(帮我们创建)等。
a依赖b,b扔到a里面。 a依赖b,b依赖c,c依赖a。 反射,创建一个对象。
repository dao
component 万金油,归不到dao、service层,就使用他
service service。
com.demo group id
spring2
扫描,然后根据注解(这里说的是如@service@repository)创建对象。compoent-scan.
resource("name1")当有多个相同对象的时候,外面需要一个对象名为name1
**是所有包下面的(递归),*代表任意的字符串。
反射读取注解。在创建对象之后,创建对象之后,spring的另一个方法接收到通知之后,成员变量、方法上面有没有依赖注入的注解
prototype原生类型。
orm框架