JSP 全名为 Java Server Pages - java 服务器页面是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网页 html(标准通用标记语言的子集)文件 (*.htm,*.html) 中插入 Java 程序段 (Scriptlet) 和 JSP 标记(tag),从而形成 JSP 文件,后缀名为(*.jsp)。
这篇文章主要介绍了 java JSP 开发之 Spring 中 Bean 的使用的相关资料, 在 Spring 中,bean 的生命周期就比较复杂,这里就详细介绍下,需要的朋友可以参考下
java JSP 开发之 Spring 中 Bean 的使用在传统的 Java 应用中,bean 的生命周期很简单。使用 Java 关键字 new 进行 bean 实例化,然后 bean 就可以被使用了,一旦该 bean 不再使用,Java 就自动进行垃圾回收。然而,在 Spring 中,bean 的生命周期就比较复杂了。下面是一个 bean 装载到 Spring 应用上下文的过程:
如图所示:在你准备调用 bean 之前,bean 工厂执行了若干启动步骤:
1.Spring 对 bean 进行实例化;
2.Spring 将值和 bean 的引用注入到 bean 对应的属性中;
3.如果 bean 实现了 BeanNameAware 接口,Spring 将 bean 的 ID 传递给 setBean-Name() 方法;
4.如果 bean 实现了 BeanFactoryAware 接口,Spring 将调用 setBeanFactory() 方法,将 BeanFactory 容器实例传入;
5.如果 bean 实现了 ApplicationContextAware 接口,Spring 将调用 setApplicationContext() 方法,将 bean 所在的应用上下文的引用传入进来;
6.如果 bean 实现了 BeanPostProcessor 接口,Spring 将调用它们的 post-ProcessBeforeInitialization() 方法;
7.如果 bean 实现了 InitializingBean 接口,Spring 将调用它们的 after-PropertiesSet() 方法。类似地,如果 bean 使用 initmethod 声明了初始化方法,该方法也会被调用;
8.如果 bean 实现了 BeanPostProcessor 接口,Spring 将调用它们的 post-ProcessAfterInitialization() 方法;
9.此时,bean 已经准备就绪,可以被应用程序使用了,它们将一直驻留在应用上下文中,直到该应用上下文被销毁;
10.如果 bean 实现了 DisposableBean 接口,Spring 将调用它的 destroy() 接口方法。同样,如果 bean 使用 destroy-method 声明了销毁方法,该方法也会被调用。
一,创建可以被发现的 Bean在厨师的眼中,一套好的刀是必不可少的,它能够将平淡的食物素材加工成精致的艺术品。
- package cooking;
- public interface knife {
- void cut();
- }
现在,我们创建一个名为 knife(刀) 的接口,它拥有 cut(切)的功能。接下来我们实现这个接口
- package cooking
- @Component
- public class beef implements knife{
- private int weight = 2;
- private double price = 32.1;
- public void cut(){
- System.out.println("This is perfect beef",+"weight:"+weight
- +"kg"+","+"It's price is"+price+"$");
- }
- }
请注意,我们在 beef 类上使用了 @Component 注解。这个简单的注解表明 该类是一个组件类,并告诉 Spring 要为这个类创建 bean。
在默认情况下,组件扫描是不启用的,我们需要显示配置一下 Spring,命令 Spring 去寻找带有 @Component 注解的类,并为其创建 bean
- package cooking
- @Configuration
- @ComponentScan
- public class knifeConfig{
- }
注意到,在 knifeConfig 类上加上了 @ComponentScan 注解,该注解能够在 Spring 中开启组件扫描,如果没有其他配置的话,@ComponentScan 默认会扫描与配置类相同的包,去查找带有 @Component 的注解类,并在 Spring 中自动为其创建一个 bean。如果你更倾向于使用 XML 来启用组件扫描的话,那么可以使用 Spring context 命名空间的
以上就是 Spring 中 Bean 的使用方法,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
来源: http://www.phperz.com/article/18/0105/355533.html