快速了解java框架原理

最近有兴趣,所以快速的看一下java的技术原理,后面会做一些简单的尝试,浅尝辄止,欢迎讨论。

servlet和servlet容器的关系

http://blog.csdn.net/angus_17/article/details/7788057

简单的说,jboss和tomcat都是http server,我们用spring mvc写的网站编译成一个servlet,然后前者会加载后者,后者只处理请求和应答,前者处理网络收发和其他事情。

nginx和servlet容器(jboss,tomcat)的关系

https://www.zhihu.com/question/32212996

简单说,tomcat本身是可以直接对外服务的,但是它一般只处理servlet的动态请求,和php-fpm地位一致,静态资源还是放在nginx那边。如果说nginx和php-fpm走的是fcgi协议,那么nginx和tomcat走的就是反向代理关系。

spring和spring-mvc

 

spring最早就一个项目,它是基于反射机制实现的,目的就是提供IOC依赖注入容器,通过它可以获得类对象。

为了实现IOC,最基础的就是在xml种配置一个一个的bean,IOC将根据xml中的配置(主要是类名)返回对应的对象。

一般来说,这个对象内有一些属性需要初始化,那么传统做法就是在xml对应bean下继续配置属性,这样IOC会继续分析每个属性对应哪个bean,再根据xml分配这些依赖的bean。

但是后来出了注解,那么就可以取代在xml中配置属性的这个做法了(配置类还是要的),可以直接在对应的class中为每个属性写一个注解,即标明它应该赋值为哪个bean,这样IOC在运行时创建对象会首先反射分析这个类的每个属性上的注解,从而得知应该用哪个bean来赋值,这就是spring注解的用途了。

spring基于XML实现IOC:http://blog.csdn.net/zhang6622056/article/details/7659489

spring基于注解实现IOC:http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-iocannt/

后来spring改名为spring-core,而spring-mvc就是基于spring-core实现了一个mvc框架。

spring和spring-mvc的关系:https://www.zhihu.com/question/39678061

Mybatis

MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以对配置和原生Map使用简单的 XML 或注解,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。

暂时我还没开始用,我会先把java的spring-core和spring-mvc一起用一用,后面再尝试访问数据库吧。

 

 

发表评论

电子邮件地址不会被公开。