首页 > 编程语言 > 详细

Spring-项目搭建

时间:2021-06-24 22:33:18      阅读:15      评论:0      收藏:0      [点我收藏+]

XML 配置文件创建

目录结构

main
  │  
  ├─java
  │  └─com
  │      ├─pojo
  │      │      User.java
  │      │      
  │      └─test
  │             AppConfig.java
  │              
  └─resources
         applicationConrext.xml

说明

  • 使用 ClassPathXmlApplicationContext 可以基于 配置文件 加载 Spring 的上下文。
    • 英文单词读音:克拉斯 爬服 埃克斯迈欧 阿普雷 kei 什 康泰斯特
  • 注意:
    • 需要使用 <bean> </bean> 标签将 类注入到 Spring 容器中。

实例

  • applicationContext.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">


    <bean id="user" class="com.pojo.User">
        <property name="name" value="琴江"/>
    </bean>

</beans>
  • 实体类
package com.pojo;

public class User {

    private String name;

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}
  • 测试
package com.test;

import com.pojo.User;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class AppConfig {

    public static void main(String[] args) {
        ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationConrext.xml");

        User user = applicationContext.getBean("user",User.class);
        System.out.println(user.getName());
    }
}

注解开发创建

目录结构

java
 └─com
     │  Entitlement.java
     │  JavaConfigTest.java
     │  
     └─config
             AppConfig.java

说明

  • 使用 AnnotationConfigApplicationContext 可以实现基于 Java 配置类加载 Spring 的应用上下文。

  • 注意:

    • 需要在 配置类 中使用 @Bean 标签将 类 注入到 Spring 容器中。
    • 或者使用 @ComponentScan 注解自动将 符合条件的注入到 Spring 容器中。

示例

  • AppConfig.java
package com.Test.config;

import com.Test.Entitlement;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@ComponentScan("com.Test")  // 自动扫描
public class AppConfig {

    @Bean
    public Entitlement entitlement() {
        return new Entitlement();
    }

    @Bean   // 没指定名字,该 Bean 的 id 就是方法名
    public Entitlement Entitlement() {
        return new Entitlement();
    }
}
  • Entitlement.java
package com.Test;

public class Entitlement {
    private String name;
    private int time;

    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getTime() {
        return time;
    }
    public void setTime(int time) {
        this.time = time;
    }
}
  • JavaConfigTest.java
package com.Test;

import com.Test.config.AppConfig;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;


public class JavaConfigTest {
    public static void main(String[] arg) {
        AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();

        ctx.register(AppConfig.class);
        ctx.refresh();

        Entitlement ent = (Entitlement)ctx.getBean("entitlement");
        ent.setName("entitlement11");
        ent.setTime(1);
        System.out.println(ent.getName());
        System.out.println(ent.getTime());

        Entitlement ent2 = (Entitlement)ctx.getBean("Entitlement");
        ent2.setName("Entitlement22");
        ent2.setTime(2);
        System.out.println(ent2.getName());
        System.out.println(ent2.getTime());

        ctx.close();
    }
}

XML 配合 注解创建

目录结构

main
  ├─java
  │  └─com
  │      ├─pojo
  │      │      User.java
  │      │      
  │      └─test
  │              AppConfig.java
  │              
  └─resources
          applicationContext.xml

说明

  • 使用 ClassPathXmlApplicationContext 可以基于 配置文件 加载 Spring 的上下文。

实例

  • applicationContext
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                https://www.springframework.org/schema/beans/spring-beans.xsd
                http://www.springframework.org/schema/context
                https://www.springframework.org/schema/context/spring-context.xsd">

    <!-- 导入注解支持 -->
    <context:annotation-config/>

    <!-- 指定要扫描的包,这个包下的注解就会生效 -->
    <context:component-scan base-package="com.pojo"/>

</beans>
  • 实体类
package com.pojo;

import org.springframework.stereotype.Component;

@Component
public class User {

    public String name = "秦军";

}
  • 测试
package com.test;

import com.pojo.User;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class AppConfig {

    public static void main(String[] args) {
        ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationConrext.xml");

        User user = applicationContext.getBean("user",User.class);
        System.out.println(user.name);
    }
}

Spring-项目搭建

原文:https://www.cnblogs.com/shan-wang/p/14928231.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!