Spring项目构建
  1. (maven)导入依赖

    <!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>5.3.10</version>
    </dependency>
    
  2. 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">

    <bean id="..." class="...">  (1) (2)
        <!-- collaborators and configuration for this bean go here -->
    </bean>

    <bean id="..." class="...">
        <!-- collaborators and configuration for this bean go here -->
    </bean>

    <!-- more bean definitions go here -->

</beans>

(1) id属性是标识单个 bean 定义的字符串。

(2) class属性定义 bean 的类型并使用完全限定的类名。

  1. 实例化容器

提供给ApplicationContext构造函数的位置路径是资源字符串,这些资源字符串使容器可以从各种外部资源(例如本地文件系统,Java CLASSPATH等)加载配置元数据。services.xml为服务层配置,daos.xml为应用层配置。

ApplicationContext context = new ClassPathXmlApplicationContext("services.xml", "daos.xml");
  1. 示例

    1. javaBean

      public class User {
          private String name;
          public String getName() {
              return name;
          }
      
          public void setName(String name) {
              this.name = name;
          }
      
          @Override
          public String toString() {
              return "User{" +
                      "name='" + name + '\'' +
                      '}';
          }
      }
      
    2. 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
              https://www.springframework.org/schema/beans/spring-beans.xsd">
          <alias name="user" alias="user5"/>
          <bean id="user" class="com.mcwen.pojo.User" name="user2,user1 user3;user4">
              <property name="name" value="zhangsan"/>
              <!-- collaborators and configuration for this bean go here -->
          </bean>
      </beans>
      
    3. 测试

          public static void main(String[] args) {
              ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
      
              User user = (User) context.getBean("user");
              User user1 = (User) context.getBean("user1");
              User user2 = (User) context.getBean("user2");
              User user3 = (User) context.getBean("user3");
              User user4 = (User) context.getBean("user4");
              User user5 = (User) context.getBean("user5");
      
              List<User> users=new ArrayList<>();
              users.add(user);
              users.add(user1);
              users.add(user2);
              users.add(user3);
              users.add(user4);
              users.add(user5);
              System.out.println(user1.equals(user));
              for (User us : users) {
                  System.out.println(us.toString());
              }
          }
      
    4. 运行结果

    image

    1. 注意:是取别名,但是在标签中有name属性更为强大,可取多个别名,分隔符为空格,分号,逗号。
posted on 2021-09-22 15:48  需要多勇敢  阅读(67)  评论(0)    收藏  举报