J2EE相关概念
2017-12-22 15:35
169 查看
JNDI:
个人理解,就是将要引用的外部资源写在配置文件里,由容器读取配置文件去获取资源,很多时候是基于反射动态加载对象资源,这样由硬编码转向了配置文件,系统更灵活。
直接使用JDBC硬编码(在程序中手动写Class.forName(“com.mysql.jdbc.Driver”, ……); Connextion conn=DriverManager.getConnection(“url?user=&password=”); )或者通过JNDI引用数据源(把硬编码参数提取到配置文件中)的编程代码量相差无几,但是现在的程序可以不用关心具体JDBC参数了。
在系统部署后,如果数据库的相关参数变更,只需要重新配置 mysql-ds.xml 修改其中的JDBC参数,只要保证数据源的名称不变,那么程序源代码就无需修改。
由此可见,JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置、易于部署。
JNDI的扩展:JNDI在满足了数据源配置的要求的基础上,还进一步扩充了作用:所有与系统外部的资源的引用,都可以通过JNDI定义和引用。
J2EE 规范要求所有 J2EE 容器都要提供 JNDI 规范的实现。JNDI 在 J2EE 中的角色就是“交换机” —— J2EE 组件在运行时间接地查找其他组件、资源或服务的通用机制。
在 J2EE 中,JNDI 是把 J2EE 应用程序合在一起的粘合剂,JNDI 提供的间接寻址允许跨企业交付可伸缩的、功能强大且很灵活的应用程序。这是 J2EE 的承诺,而且经过一些计划和预先考虑,这个承诺是完全可以实现的。
**Tomcat容器和Spring容器:
Java项目跟jvm进程数量没什么直接关系。通常我们用java 命令运行一个程序就会启动一个jvm进程,就是你所说的jvm实例。可以看看tomcat的启动脚本(非常复杂),但最终是通过一个java命令启动tomcat容器。webapp运行于tomcat容器基础之上,和tomcat同属于一个jvm进程是必然的。至于spring,容器的概念更多是逻辑上的,它仅仅是一个类(ApplicationContext,BeanFactory)的实例。web应用启动时加载一个WebApplicationContext实例,即我们所说的spring容器。**
个人理解,就是将要引用的外部资源写在配置文件里,由容器读取配置文件去获取资源,很多时候是基于反射动态加载对象资源,这样由硬编码转向了配置文件,系统更灵活。
直接使用JDBC硬编码(在程序中手动写Class.forName(“com.mysql.jdbc.Driver”, ……); Connextion conn=DriverManager.getConnection(“url?user=&password=”); )或者通过JNDI引用数据源(把硬编码参数提取到配置文件中)的编程代码量相差无几,但是现在的程序可以不用关心具体JDBC参数了。
在系统部署后,如果数据库的相关参数变更,只需要重新配置 mysql-ds.xml 修改其中的JDBC参数,只要保证数据源的名称不变,那么程序源代码就无需修改。
由此可见,JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置、易于部署。
JNDI的扩展:JNDI在满足了数据源配置的要求的基础上,还进一步扩充了作用:所有与系统外部的资源的引用,都可以通过JNDI定义和引用。
J2EE 规范要求所有 J2EE 容器都要提供 JNDI 规范的实现。JNDI 在 J2EE 中的角色就是“交换机” —— J2EE 组件在运行时间接地查找其他组件、资源或服务的通用机制。
在 J2EE 中,JNDI 是把 J2EE 应用程序合在一起的粘合剂,JNDI 提供的间接寻址允许跨企业交付可伸缩的、功能强大且很灵活的应用程序。这是 J2EE 的承诺,而且经过一些计划和预先考虑,这个承诺是完全可以实现的。
参考:http://blog.csdn.net/sunkobe2494/article/details/50824359
**Tomcat容器和Spring容器:
Java项目跟jvm进程数量没什么直接关系。通常我们用java 命令运行一个程序就会启动一个jvm进程,就是你所说的jvm实例。可以看看tomcat的启动脚本(非常复杂),但最终是通过一个java命令启动tomcat容器。webapp运行于tomcat容器基础之上,和tomcat同属于一个jvm进程是必然的。至于spring,容器的概念更多是逻辑上的,它仅仅是一个类(ApplicationContext,BeanFactory)的实例。web应用启动时加载一个WebApplicationContext实例,即我们所说的spring容器。**
参考:https://zhidao.baidu.com/question/358515728.html
相关文章推荐
- J2EE中数据对象的一些概念,比如DTO,VO,BO,ORM,POJO等相关注解
- J2EE:数据访问层的设计相关概念
- J2EE相关概念的学习
- j2ee asp.net 相关概念
- J2EE相关概念,EJB/JNDI/JMS/RMI等
- J2EE学习笔记一:相关概念和基础知识
- 窗口相关概念和对应关系
- 对Oracle的一致和不一致备份相关概念的理解
- ad相关概念
- 国际化编程中Locale相关概念的一些解释
- TestNG 并发运行相关的核心概念 - 补充
- 和3D相关的一些数学概念和公式
- 国际化编程中Locale相关概念的一些解释
- 编译原理语法分析之文法的相关概念
- 可信计算机系统相关概念解释【GB17859 + CC】
- linux设备驱动归纳总结(二):模块的相关基础概念
- 类和对象的相关概念
- 【转载】jdk,j2ee,j2se,j2me的概念区别
- 新手买股票的步骤及相关概念和疑问
- 【HDFS篇】HDFS相关概念总结