Spring 提供了哪些配置方式?

1、基于 applicationContext.xml 实现配置

bean 所需的依赖项和服务在XML 格式的配置文件中指定。这些配置文件通常包含许多bean 定义和特定于应用程序的配置选项。它们通常以 bean` 标签开头。

【例如】:

<bean id="address" class="com.singew.pojo.Address"></bean>
<bean id="student" class="com.singew.pojo.Student">
    <!--第一种,普通值的注入,value-->
    <property name="name" value="张欣"></property>

    <!--第二种,Bean注入,ref-->
    <property name="address" ref="address"/>

    <!--第三种,数组的注入-->
    <property name="books">
        <array>
            <value>红楼梦</value>
            <value>西游记</value>
            <value>三国演义</value>
            <value>水浒传</value>
        </array>
    </property>

    <!--第四种,List注入-->
    <property name="hobbys">
        <list>
            <value>听歌</value>
            <value>掉代码</value>
            <value>看电影</value>
        </list>
    </property>

    <!--第五种,Map注入-->
    <property name="card">
        <map>
            <entry key="key" value="value"/>
            <entry key="身份证" value="5464556454645651415"/>
            <entry key="银行卡" value="8795461525678954645459845415"/>
        </map>
    </property>

    <!--第六种,Set注入-->
    <property name="games">
        <set>
            <value>LOL英雄联盟</value>
        </set>
    </property>

    <!--第七种,props空值注入-->
    <property name="wife" value=""/>
    
    <property name="info">
        <props>
            <prop key="学号">20171649</prop>
            <prop key="性别">男</prop>
            <prop key="姓名">小明</prop>
        </props>
    </property>
</bean>

2、基于注解实现配置

可以通过在相关的类,方法或字段声明上使用注解,将 bean 配置为组件类本身,而不是使用 XML 来描述 bean 装配。默认情况下,Spring 容器中未打开注解装配。因此,需要在使用它之前在 Spring 配置文件中启用它。

【例如】:

<!--注解的支持-->
<context:annotation-config></context:annotation-config>
@Repository
public class BlogDaoImpl implements BlogDao {

    @Override
    public PageData getBlogList(int page, int pageSize) {
        String sql = "SELECT g_article.* FROM g_article WHERE acticle_status = 1";
        return DBUtil.exQueryByPage(sql, BlogEntity.class, page, pageSize);
    }
}

3、基于Java API/JavaConfig实现配置

完全使用Java的方式配置Spring,年轻人喜欢这么玩,上了年龄的程序员不想瞎搞。但以后看到Spring开源项目,这么没有bean,怎么没有xml?别说这不是Spring的,丢人了。

SpringJava 配置是通过使用 @Bean@Configuration 来实现。

  1. @Bean 注解扮演与 <bean /> 元素相同的角色。
  2. @Configuration 类允许通过简单地调用同一个类中的其他 @Bean 方法来定义 bean 间依赖关系。

【例如】:

UserEntity:

@Component
public class UserEntity {
    private String name;

    public String getName() {
        return name;
    }

    @Value("张欣")
    public void setName(String name) {
        this.name = name;
    }

    public UserEntity() {
    }

    public UserEntity(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "UserEntity{" +
            "name='" + name + '\'' +
            '}';
    }
}

SingerwConfig:

@Configuration
public class SingerwConfig {

    @Bean
    public UserEntity getUser(){
        return new UserEntity();
    }
}

TestUser:

public class TestUser {
    @Test
    public void getUserTest() {
        ApplicationContext context = new AnnotationConfigApplicationContext(SingerwConfig.class);
        UserEntity getUser = context.getBean("getUser", UserEntity.class);
        System.out.println(getUser.getName());
    }
}
最后修改:2021 年 08 月 18 日 10 : 32 PM
如果觉得我的文章对你有用,请随意赞赏