spring的配置介绍和bean的管理方式

Posted hzhiping-0814

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring的配置介绍和bean的管理方式相关的知识,希望对你有一定的参考价值。

前言

不管说什么框架,我们总是难以逃脱该框架的配置文件,所以接下来我们就要讲述一下spring的配置文件的相关标签的配置,另外会介绍一下spring的bean的管理方式(XML文件中)。

spring的配置

id属性和name属性

id:给bean起个名字,在约束中采用 ID 的约束,唯一,必须以字母开始,可以使用字母、数字、连字符、下划线、句话、冒号,不能出现特殊字符。

<bean id=”bookAction”>

name:给bean起个名字,没有采用 ID 的约束。name出现特殊字符,如果bean没有id的话,name可以当作id来使用。

比如整合struts的时候,<bean name="/loginAction">。

scope属性

scope属性是bean的作用范围。下面我们详细介绍一下该属性的几个值。

singleton

默认值,单例的。

prototype

多例的。

request

在web的项目中,spring创建一个bean的对象,然后将对象存到request域中。

session

在web的项目中,spring创建一个bean的对象,然后将对象存到session域中。

globalSession

web项目中,应用在 Porlet 环境.如果没有 Porlet 环境那么 globalSession 相当于 session。

bean的生命周期的配置

通过配置标签上的 init-method 作为 Bean 的初始化的时候执行的方法,配置 destroy-method 作为 Bean 的销毁的时候执行的方法。 销毁方法想要执行,需要是单例创建的 Bean 而且在工厂关闭的时候,Bean 才会被销毁。

spring的bean的管理方式[XML配置方式]

创建相关的bean

在介绍相关的知识点之前,我们先介绍一下需要用到的两个bean:Car和User

Car.java

技术分享图片
 1 /**
 2  * Copyright (C), 2015-2018, [email protected]
 3  * Title:Car
 4  * Author:Administrator
 5  * Date:2018/7/5 17:02
 6  * Description: 汽车类
 7  * History:
 8  * <author>          <time>          <version>          <desc>
 9  * 作者姓名           修改时间           版本号              描述
10  */
11 package com.hzhiping.bean;
12 
13 public class Car {
14     private String name;
15     private String color;
16 
17     public Car() {
18     }
19 
20     public String getName() {
21         return name;
22     }
23 
24     public void setName(String name) {
25         this.name = name;
26     }
27 
28     public String getColor() {
29         return color;
30     }
31 
32     public void setColor(String color) {
33         this.color = color;
34     }
35 
36     @Override
37     public String toString() {
38         return "Car{" +
39                 "name=‘" + name + ‘‘‘ +
40                 ", color=‘" + color + ‘‘‘ +
41                 ‘}‘;
42     }
43 }
Car.java

User.java

技术分享图片
 1 /**
 2  * Copyright (C), 2015-2018, [email protected]
 3  * Title:User
 4  * Author:Administrator
 5  * Date:2018/7/5 17:03
 6  * Description: 用户类
 7  * History:
 8  * <author>          <time>          <version>          <desc>
 9  * 作者姓名           修改时间           版本号              描述
10  */
11 package com.hzhiping.bean;
12 
13 public class User {
14     private String name;
15     private int age;
16     private Car car;
17 
18     public User() {
19         System.out.println("user对象无参构造方法...");
20     }
21 
22     public User(String name, Car car) {
23         System.out.println("User(String name, Car car)...");
24         this.name = name;
25         this.car = car;
26     }
27 
28     public User(Car car, String name) {
29         System.out.println("User(Car car, String name)...");
30         this.car = car;
31         this.name = name;
32     }
33 
34     public User(int age, Car car) {
35         System.out.println("User(int age, Car car)...");
36         this.age = age;
37         this.car = car;
38     }
39 
40     public String getName() {
41         return name;
42     }
43 
44     public void setName(String name) {
45         this.name = name;
46     }
47 
48     public int getAge() {
49         return age;
50     }
51 
52     public void setAge(int age) {
53         this.age = age;
54     }
55 
56     public Car getCar() {
57         return car;
58     }
59 
60     public void setCar(Car car) {
61         this.car = car;
62     }
63 
64     @Override
65     public String toString() {
66         return "User{" +
67                 "name=‘" + name + ‘‘‘ +
68                 ", age=" + age +
69                 ", car=" + car +
70                 ‘}‘;
71     }
72 
73     // 设置初始化方法和销毁方法
74     public void init(){
75         System.out.println("初始化方法...");
76     }
77     public void destroy(){
78         System.out.println("销毁方法...");
79     }
80 }
User.java

spring的bean的创建方式

空参构造创建

在配置文件中添加相关的配置

技术分享图片

编写测试类

技术分享图片

静态工厂创建实例

创建静态工厂的方法

技术分享图片

添加配置

技术分享图片

编写测试方法

技术分享图片

实例工厂创建实例

创建实例工厂的方法

技术分享图片

添加配置文件

技术分享图片

编写测试方法

技术分享图片

spring的bean的属性的几种注入方式

使用set的方式进行注入

技术分享图片

构造函数注入

技术分享图片

p名称方式注入

技术分享图片

spel方式注入

技术分享图片

复杂类型注入

技术分享图片

spring的分配置文件的开发

spring的分配置文件开发,实际上就是允许多个配置文件,使用spring的分配置文件开发,有两种方式。

在类中同时加载多个配置文件

技术分享图片

在一个配置文件中包含另一个配置文件,最终只加载一个配置文件

技术分享图片

坚壁清野

以上是关于spring的配置介绍和bean的管理方式的主要内容,如果未能解决你的问题,请参考以下文章

spring Bean装配的几种方式简单介绍

Spring管理Bean(XML与注解方式)

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

IOC——Spring的bean的管理(注解方式)

Spring常用注解介绍经典总结

Spring入门到进阶 - Spring Bean管理 注解方式