阿里P7浅谈Java的Spring Bean

1、简单java 类,实现 Serializable 接口

package com.curtis.bean;import java.io.Serializable;@SuppressWarnings("serial")public class Person implements Serializable {  private String name;  private Integer age;  public String getName() {    return name;  }  public void setName(String name) {    this.name = name;  }  public Integer getAge() {    return age;  }  public void setAge(Integer age) {    this.age = age;  }  @Override  public String toString() {    return "Person [name=" + name + ", age=" + age + "]";  }}

2、spring jar包

commons-logging-1.1.3.jar

spring-aop-4.3.3.RELEASE.jar

spring-beans-4.3.3.RELEASE.jar

spring-context-4.3.3.RELEASE.jar

spring-core-4.3.3.RELEASE.jar

spring-expression-4.3.3.RELEASE.jar

大家可以点击加入群:【Java高级架构进阶群】:854180697 里面有Java高级大牛直播讲解知识点 走的就是高端路线 ,(如果你想跳槽换工作 但是技术又不够 或者工作上遇到了瓶颈 ,我这里有一个JAVA的免费直播课程 ,讲的是高端的知识点基础不好的误入哟 ,只要你有1-5年的开发经验可以加群找我要课堂链接 注意:是免费的 没有开发经验误入哦)

3、spring 配置文件

名字叫:applicationContext.xml 这个名称可以自己定义,没必要非要叫applicationContext.xml

applicationContext.xml 文件中

案例1:

  ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml"); System.out.println(ctx.getBean("person",Perspn.class));

说明:property 标签中的name 属性对应java bean中set 方法后面的内容,后面的value是java bean 对应属性赋值;getBean方法如果不指明第二个参数,就需要强制类型转换定义的bean如果在applicationContext.xml 文件中只出现一次,可以通过类名.class 的方式,无需传第二个参数,不需要进行强制类型转换Person p1=(Person) ctx.getBean("person");System.out.println(ctx.getBean(Perspn.class));java bean 中有多个属性,可以给部分属性进行赋值,没有被赋值的属性是对应数据类型的默认值由于是通过反射的方式,建议明文在java bean 中定义无参数的构造方法结束标签可以在property 上面直接关闭也可以通过value 标签进行赋值Jerrybean 标签、id属性、class属性property 标签 name属性、value属性

案例2:

public Person(String name) { // 构造方法  this.name=name;}  

说明:通过构造方式的给属性赋值的方式,需要定义无参的构造方法;如果出现构造方法的重载需要通过索引(index)值,或者参数数据类型进行明确到底调用的是哪个构造方法;

index 索引从0开始

type java.lang.String 等

上面两种可以混用

如果只有一个有参的构造方法,可以一句参数列表依次给参数赋值。

如果是数值类型,数据会自动进行转换(String转成数值类型);

      

案例3:特殊字符]]>

案例4:引用类型 ref人有汽车,一个Person 的类,也有一个Car 的类分别通过定义Person、CarPerson bean中可以通过ref 对Car 进行引用package com.curtis.bean;import java.io.Serializable;@SuppressWarnings("serial")public class Car implements Serializable {  private String brand;  private double price;  public String getBrand() {    return brand;  }  public void setBrand(String brand) {    this.brand = brand;  }  public double getPrice() {    return price;  }  public void setPrice(double price) {    this.price = price;  }  @Override  public String toString() {    return "Car [brand=" + brand + ", price=" + price + "]";  }  public Car() {    // TODO Auto-generated constructor stub  }}package com.curtis.bean;import java.io.Serializable;@SuppressWarnings("serial")public class Person implements Serializable {     private String name;  private Integer age;  private Car car;  public String getName() {    return name;  }  public void setName(String name) {    this.name = name;  }  public Integer getAge() {    return age;  }  public void setAge(Integer age) {    this.age = age;  }  public Car getCar() {    return car;  }     public void setCar(Car car) {    this.car = car;  }     @Override  public String toString() {    return "Person [name=" + name + ", age=" + age + ", car=" + car + "]";  }  public Person() {  }     public Person(String name) {    this.name=name;  }}applicationContext.xml 文件中        

案例5:内部bean

                  

说明:bean 在property 标签内部;内部bean 不需要指明id属性

案例6:list一个人可能有多辆车package com.curtis.bean;import java.io.Serializable;import java.util.List;@SuppressWarnings("serial")public class Person implements Serializable {  private String name;  private Integer age;  private List car;  public String getName() {    return name;  }  public void setName(String name) {    this.name = name;  }  public Integer getAge() {    return age;  }  public void setAge(Integer age) {    this.age = age;  }  public List getCar() {    return car;  }  public void setCar(List car) {    this.car = car;  }  @Override  public String toString() {    return "Person [name=" + name + ", age=" + age + ", car=" + car + "]";  }  public Person() {    // TODO Auto-generated constructor stub  }}                                            

写在最后:欢迎留言讨论,加关注,持续更新!!!

你可能感兴趣的:(阿里P7浅谈Java的Spring Bean)