一.开发步骤

1.添加依赖

 <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.11</version>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-context</artifactId>
      <version>5.0.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-core</artifactId>
      <version>5.0.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-beans</artifactId>
      <version>5.0.8.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework</groupId>
      <artifactId>spring-expression</artifactId>
      <version>5.0.8.RELEASE</version>
    </dependency>
  </dependencies>

2.配置

<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-4.0.xsd">
    <bean id="user" class="User"/>
</beans>

3.编写类和方法

public class User {
    public void add(){
        System.out.println("user add......");
    }
}

4.测试

public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
        User user = (User)applicationContext.getBean("user");
        user.add();
    }

二.bean管理

1.使用配置文件创建对象所进的bean的实例化方式,最常用的是使用类中无参构造函数创建,类中必须要有默认的无参构造函数
2.bean标签的常用属性

  1. id 对象的名称
  2. class 对象类的全限定名称
  3. scope 对象的范围(singleton,propertype)

三.属性注入

1.getter和setter方式注入

//配置
<bean id="user" class="User">
    <property name="username" value="steven"/>
</bean>
//类和方法
public class User {
    private String username;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }
}
//测试
public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
        User user = (User)applicationContext.getBean("user");
        System.out.println(user.getUsername());
}

2.构造函数方式注入

//测试
<bean id="user" class="User">
    <constructor-arg value="steven"/>
</bean>
//类和方法
public class User {
    private String username;

    public User(String username) {
        this.username = username;
    }

    public String getUsername() {
        return username;
    }
}
//测试
public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
        User user = (User)applicationContext.getBean("user");
        System.out.println(user.getUsername());
}

3.对象类型方式注入

//配置
<bean id="userDao" class="UserDao"/>
<bean id="userService" class="UserService">
     <property name="userDao" ref="userDao"/>
</bean>
//类和方法
public class UserDao {
    public void add(){
        System.out.println("UserDao...");
    }
}
public class UserService {
    private UserDao userDao;

    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }

    public void add(){
        userDao.add();
    }
}
//测试
public static void main(String[] args) {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring/applicationContext.xml");
        UserService userService = (UserService)applicationContext.getBean("userService");
        userService.add();
}
10-06 14:58