JavaWeb系列4: Spring
本文是作者的读博客笔记和心得整理,部分内容来源于网络,如有侵权,请联系作者。
什么是Bean
比如类里面的定义一个size变量为private,然后定义一个public的get方法,保持向后兼容性,这种手法就是bean.
J2EE
出现的原因:我们只想关注我们的业务逻辑, 我们不想, 也不应该由我们来处理‘低级’的事务, 多线程,连接池,以及其他各种各种的‘低级’API, 此外Java帝国一定得提供集群功能, 这样我们的一台机器死机以后,整个系统还能运转。
J2EE包含以下内容:
JDBC: Java 数据库连接
JNDI : Java 命名和目录接口, 通过一个名称就可以定位到一个数据源, 连jdbc连接都不用了
RMI: 远程过程调用, 让一个机器上的java 对象可以调用另外一个机器上的java 对象
JMS : Java 消息服务, 可以使用消息队列了
JTA: Java 事务管理, 支持分布式事务, 能在访问、更新多个数据库的时候,仍然保证事务, 还是分布式。
Java mail : 收发邮件
Spring
spring容器主要负责把依赖的bean注入到服务当中,正常的流程应该是比如A需要B,就先执行A,然后创建B的对象,再调用B.
但是控制反转的意思是,我先创建B的对象封装为bean,然后要使用A的时候就把这个bean注入进来.
面向切面:如果一个Bean 需要一些像事务,日志,安全这样的通用的服务, 也是只需要声明即可, spring 容器在运行时能够动态的“织入”这些服务, 这叫面向切面(AOP)。
Bean的区别和联系
首先是Java Bean.说白了就是一个实体类,用来封装很多对象里面全部都是属性值和getset方法.
但是SpringBean就不太一样.Spring会按照配置文件来创建bean实例,并且调用;不需要去人为的创造对象了.
<bean id="p1" class="com.zking.Pojo.Person" scope="prototype">
//及时加载 加载你的xml配置文件
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("ApplicationContext.xml");
//getbean输入你配置类的别名得到 person对象
Person p = (Person) applicationContext.getBean("p1");