什么是bean
**bean是一个Java对象**,根据bean规范编写出来的类,并由bean容器生成的对象就是一个bean。
bean规范如下:
1. 所有属性为private
2. 提供默认构造方法
3. 提供getter和setter
4. 实现serializable接口
//bean对象示例
public class Student implements Serializable {
private Long id;
private String name;
private Integer number;
private static final long serialVersionUID = 1L;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getNumber() {
return number;
}
public void setNumber(Integer number) {
this.number = number;
}
@Override
public String toString() {
return "Student{" +
"id=" + id +
", name='" + name + '\'' +
", number=" + number +
'}';
}
}
Serializable接口的意义和用法
Serializable接口意义:实现类序列化
什么是序列化?
即:在程序中能直接以 Java 对象的形式进行保存,然后再重新得到该 Java 对象
举例:将一台电脑拆卸成一部分一部分,就是序列化
将一部分一部分重新组合成一个新电脑就是反序列化
序列化目的:
第一:便于存储
第二:便于传输。
序列化作用:
- 提供一种简单又可扩展的对象保存恢复机制。
- 远程调用,方便对对象进行编码和解码
- 可以将对象持久化到存储介质中
- 允许对象自定义外部存储的格式。
Serializable接口用法
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
}
Serializable接口是一个里面什么都没有的接口
它的源代码是public interface Serializable{},即什么都没有。
那么这个接口是一个标识接口
在Java中的这个Serializable接口是给JVM看的,告诉JVM,我不做这个类的序列化了,你(JVM)给我序列化
@Bean注解
用来在Spring容器里面创建bean对象
相当于
<bean id=""/>
示例:
public class MybatisPlusConfig {
@Bean
//@Bean相当于 <bean id="mybatisPlusInterceptor"/>
//此时在spring容器里面创建了一个对象名为mybatisPlusInterceptor,返回类型为MybatisPlusInterceptor的bean对象
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
}
参考文章:
bean
https://www.awaimai.com/2596.html
Serializable
https://www.jianshu.com/p/4935a87976e5
java.io.Serializable
https://www.cnblogs.com/wangenxian/p/11003221.html