Spring入门教程笔记1 - bean的认识及使用

容器
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 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值

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());
    }

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='狗熊岭'}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值