Spring入门教程笔记1 - bean的认识及使用
简单介绍
Spring 是最受欢迎的企业级 Java EE开发框架,开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。
建议学前了解 工厂设计模式 效果更佳
使用工具
Maven、JDK1.8、IDEA 2020.3.2
容器
Spring有两大高级容器使用
- BeanFactory
- ApplicationContext
大多数开发者都以ApplicationContext来当工厂容器,ApplicationContext是BeanFactory的子类,相比父类BeanFactory,更受大众喜爱。
使用方法
ApplicationContext常用的三个接口实现类
- FileSystemXmlApplicationContext
- ClassPathXmlApplicationContext
- WebXmlApplicationContext
FileSystemXmlApplicationContext
需要提供完整的xml文件路径
ApplicationContext context = new FileSystemXmlApplicationContext("textContentBean.xml");
ClassPathXmlApplicationContext
只需要提供相对路径的xml文件 一般在resource下
ApplicationContext content = new ClassPathXmlApplicationContext("textContentBean.xml");
WebXmlApplicationContext
一般在Servlet的生产环境下使用
ServletContext servletContext = request.getSession().getServletContext();
ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext );
bean介绍
Spring是通过读取Xml数据找到bean来进行注入以及其他相关操作,不了解没关系,我们在resource下创建一个userBean的xml文件
代码示例
默认情况下的XML
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
</beans>
创建bean
<bean class="cn.marinda.resturants.User" name="userBean"></bean>
使用bean标签来进行创建,class指向当前包下的类,name值为bean值
创建User类
public class User {
private String User;
private int age;
private String Address;
public int getAge() {
return age;
}
public String getAddress() {
return Address;
}
public void setAge(int age) {
this.age = age;
}
public void setUser(String user) {
User = user;
}
public void setAddress(String address) {
Address = address;
}
public String getUser() {
return User;
}
@Override
public String toString() {
return "User{" +
"User='" + User + '\'' +
", age=" + age +
", Address='" + Address + '\'' +
'}';
}
Main方法
我们使用ClassPathXmlApplicationContext实现类来进行操作
public static void main(String[] args) {
//创建ClassPathXmlApplicationContext
ApplicationContext context = new ClassPathXmlApplicationContext("userBean.xml");
//通过容器找xml中的bean的name
User user = (User) context.getBean("userBean");
//打印
System.out.println(user.toString());
}
控制台结果
User{User='null', age=0, Address='null'}
小提示
这样我们已经通过Spring的ApplicationContext的容器找到了userBean,接下来到我们bean的数据注入
bean注入方式
在User里我们已经封装好数据的get set方法,接下来我们开始bean的注入
给bean注入数据
- property
- constructor-arg
字段注入
property 字段注入标签 参数有name、value、ref
构造方法注入
constructor-arg 构造方法注入标签 参数有name、value、ref
我们将使用property 标签来进行字段注入
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="cn.marinda.resturants.User" name="userBean">
<property name="user" value="小明" ></property>
<property name="age" value="16" ></property>
<property name="address" value="狗熊岭" ></property>
</bean>
</beans>
控制台结果
User{User='小明', age=16, Address='狗熊岭'}
结束语
- 我们的认识就到这里,有问题欢迎评论指出
- 祝大家学习愉快