Spring深入了解常用配置应用

目录
  • 常用配置
  • 一、别名
  • 二、bean 的配置
  • 三、import
    • 存在问题
    • 总结

常用配置

现在这里简单了解一下spring 配置文件中的一些常用配置,在后面我们还会遇到更多的配置,在后文继续进行介绍了。

spring中的配置一共也就这几个

  • description描述不太重要,
  • bean在之前已经见识过了,
  • alias给bean起别名,
  • import在当前xml文件中导入其他xml文件

一、别名

在spring中别名主要是给bean的id起一个别名,同样也有好几种方式。

1、alias 配置

<alias name="user" alias="u"/>

alias是给bean的id起别名

  • name 是bean的id
  • alias 是bean的别名

(1)先定义普通实体类

package com.kuang.pojo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class User {
    private int id;
    private String userName;
    private String password;
}

(2)在配置文件中装配bean,并定义bean的别名

<?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">
   <alias name="user" alias="u"/>
   <bean id="user" class="com.kuang.pojo.User">
       <property name="id" value="1"/>
       <property name="userName" value="root"/>
       <property name="password" value="123456"/>
   </bean>
</beans>

(3)通过别名也能拿到装配的bean

    public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
        User user = context.getBean("u",User.class);
        System.out.println(user);
    }

(4)查看运行结果

二、bean 的配置

也可以通过bean来配置别名,而且可以给一个bean 配置多个别名

   <bean id="user" class="com.kuang.pojo.User" name="u1,u2,u3,u4">
       <property name="id" value="1"/>
       <property name="userName" value="root"/>
       <property name="password" value="123456"/>
   </bean>

name就是给当前bean配置别名,可以多个别名写在一起,中间使用空格/逗号/分号进行分割,spring都能识别

三、import

在团队开发使用中,还是非常常见的。它可以将多个配置文件,导入合成一个

假设一个团队中有多个人进行开发,这三个人负责不同类的开发,不同的类需要注册到不同的bean中

  • 张三 beans1.xml
  • 李四 beans2.xml
  • 王五 beans3.xml

我们可以利用import 将所有人的beans.xml合并成一个总的ApplicationContext.xml ,最后使用的时候使用总的配置文件即可。

张三负责 User类 以及注册到bean1.xml文件中

User类

package com.kuang.pojo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class User {
    private int id;
    private String userName;
    private String password;
}

bean1.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="user" class="com.kuang.pojo.User">
        <property name="id" value="1"/>
        <property name="userName" value="root"/>
        <property name="password" value="123456"/>
    </bean>
</beans>

李四负责 Student类,bean2.xml

Stduent 类

package com.kuang.pojo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Setter
@Getter
@ToString
public class Student {
    private int id;
    private String name;
    private String sex;
}

bean2.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="student" class="com.kuang.pojo.Student">
        <property name="id" value="1"/>
        <property name="name" value="张三"/>
        <property name="sex" value="男"/>
    </bean>
</beans>

总的ApplicationContext.xml配置文件,导入了bean1.xml 和 bean2.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">
 <import resource="bean1.xml"/>
 <import resource="bean2.xml"/>
</beans>

使用的时候,使用总的配置文件即可

 public static void main(String[] args) {
        ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
        User user = context.getBean("user",User.class);
        Student student = context.getBean("student",Student.class);
        System.out.println(user);
        System.out.println(student);
    }

存在问题

同时使用import还存在几个问题 导入bean 的id冲突

如果导入的文件中有多个重名id相同的bean

如果总配置文件中有取这个bean

如果在导入的xml文件中,因为导入的时候id相同的bean会不断覆盖,同名的bean后面的xml会覆盖前面的 xml,所以最后取的是最后导入这个id的xml文件中的bean

总结

与主配置中的id重名,调用主配置中的id;

多个import中配置中的id重名,调用最后import中配置中的id重名,即后面的覆盖前面的;

到此这篇关于Spring深入了解常用配置应用的文章就介绍到这了,更多相关Spring常用配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Spring Boot自动配置的原理及@Conditional条件注解

    目录 1 @SpringBootApplication自动配置原理 2 @Conditional系列条件注解 1 @SpringBootApplication自动配置原理 @SpringBootApplication是一个组合注解,主要由@ComponentScan.@SpringBootConfiguration.@EnableAutoConfiguration这三个注解组成.@EnableAutoConfiguration是Spring Boot实现自动配置的关键注解. @Component

  • Spring Boot详解配置文件的用途与用法

    目录 1. SpringBoot 配置文件 1.1 配置文件的作用 1.2 配置文件的格式 1.3 properties 配置文件说明 1.3.1 properties 基本语法 1.3.2 读取配置文件 1.4 yml 配置文件说明 1.4.1 yml 基本语法 1.4.2 yml 使用进阶 1.4.3 配置对象 1.4.4 配置集合 1.4.5 yml的另一种写法(行内写法) 1.5 properties 和 yml 比较 2. 读取 SpringBoot 配置文件的方法 2.1 使用 @V

  • Spring详解四种加载配置项的方法

    目录 1.spring加载yml文件 2.spring 加载 properties 文件 3.spring加载系统磁盘(properties)文件 4.spring加载xml文件 5.Java基于InputStream读取properties配置文件 本文默认 spring 版本是 spring5 1 spring 加载 yml 文件 2 spring 加载 properties 文件 3 spring 加载 系统磁盘 文件 4 spring 加载 xml 文件 5 Java 基于 InputS

  • SpringBoot多环境配置教程详解

    目录 一.为什么要配置多环境 二.如何进行多环境配置呢 1.针对 yaml 配置文件 2.针对 properties 配置文件 三.命令行启动参数 第一步:打包项目 第二步:输入命令行 补充内容 一.为什么要配置多环境 当我们工作开发真实的项目时,可能会遇到不同的环境,如:开发环境.生产环境.测试环境等,不同的环境所需要的配置内容也会不尽相同,如果我们每次切换环境时再去配置对应的环境配置,肯定会降低我们的开发效率,所以,掌握多环境配置还是非常有必要的. 二.如何进行多环境配置呢 我们还是以配置端

  • SpringBoot如何使用applicationContext.xml配置文件

    目录 使用applicationContext.xml配置文件 applicationContext 加载配置文件 案例 多文件的加载方法 使用applicationContext.xml配置文件 SpringBoot默认是通过Java代码进行依赖注入,但也为xml形式的依赖注入提供了入口,就是@ImportResource注解. 我们可以在SpringBoot的启动类上添加这个注解并在注解的locations属性中指定xml配置文件.(可以使用一个文件集合也可以只引入主配置文件然后在主配置文件

  • 使用SpringBoot根据配置注入接口的不同实现类(代码演示)

    目录 一.引言 二.代码演示 1.问题描述 2.解决方案 2.1使用@Autowired的时候将接口变量名改为实现类的限定名 2.2 使用@Autowired配合@Qualifier指定限定名注入实现类 2.3@ConditionalOnProperty 三.总结 一.引言 我们在使用springboot进行开发的时候经常用到@Autowired和@Resource进行依赖注入,但是当我们一个接口对应多个不同的实现类的时候如果不进行一下配置项目启动时就会报错,那么怎么根据不同的需求注入不同的类型

  • SpringBoot如何配置获取request中body的json格式参数

    目录 背景 获取请求中的参数(非json格式参数) 获取方法 结论 获取POST请求json格式的参数 经过检索推荐方法(参看后边完整方法) 实现方法 使用 背景 最近开发项目,因为有第三方调用我们的接口,我们使用SpringBoot以JavaBean的方式接收了我们预期的参数,参数接收也没有什么异常.但是有一些需求问题需要沟通,需要拿到合作第三方传入的所有参数,来进行参数核验. 如何拿到请求的所有参数呢?正常的思路肯定是从request中获取,如果是GET请求,参数在请求路径中拼接:如果是PO

  • SpringBoot超详细讲解自动配置原理

    目录 SpringBoot自动配置原理 SpringBoot特点 1.依赖管理 A.父项目做依赖管理 B.开发导入starter场景启动器 C.可以修改默认版本号 2.自动配置 A.自动配好Tomcat B.自动配好SpringMVC C.默认的包结构 D.各种配置拥有默认值 E.按需要加载所有自动配置项 SpringBoot自动配置原理 了解SpringBoot自动配置原理 1.SpringBoot特点 2.容器功能 3.自动配置原理入门 4.开发技巧 SpringBoot特点 1.依赖管理

  • Spring深入了解常用配置应用

    目录 常用配置 一.别名 二.bean 的配置 三.import 存在问题 总结 常用配置 现在这里简单了解一下spring 配置文件中的一些常用配置,在后面我们还会遇到更多的配置,在后文继续进行介绍了. spring中的配置一共也就这几个 description描述不太重要, bean在之前已经见识过了, alias给bean起别名, import在当前xml文件中导入其他xml文件 一.别名 在spring中别名主要是给bean的id起一个别名,同样也有好几种方式. 1.alias 配置 <

  • Spring常用配置及解析类说明

    springMVC配置用法的文章很多,但具体描述清楚的不多,这里主要介绍下常用的配置项的用法,以及它的解析类,springMVC处理内容有两种方式,一种是converter,另一种是ViewResolver,两种都能处理json,xml以及form内容格式. <?xml version="1.0" encoding="UTF-8" standalone="no"?> <beans xmlns="http://www.s

  • Spring Security自定义登录页面认证过程常用配置

    目录 一.自定义登录页面 1.编写登录页面 2.修改配置类 3.编写控制器 二. 认证过程其他常用配置 1.失败跳转 1.1编写页面 1.2修改表单配置 1.3添加控制器方法 1.4设置fail.html不需要认证 2.设置请求账户和密码的参数名 2.1源码简介 2.2修改配置 2.3修改页面 3.自定义登录成功处理器 3.1源码分析 3.2代码实现 4.自定义登录失败处理器 4.1源码分析 4.2代码实现 一.自定义登录页面 虽然Spring Security给我们提供了登录页面,但是对于实际

  • 浅谈Spring的两种配置容器

    Spring提供了两种容器类型 SpringIOC容器是一个IOC Service Provider.提供了两种容器类型:BeanFactory和ApplicationContext.Spring的IOC容器是一个提供IOC支持的轻量级容器.除了基本的ioc支持,它作为轻量级容器还提供了IOC之外的支持. BeanFactory BeanFactory是基础类型IOC容器.顾名思义,就是生产Bean的工厂.能够提供完整的IOC服务.没有特殊指定的话,其默认采用延迟初始化策略.只有当客户端对象需要

  • spring boot日志管理配置

    spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J,Log4J2和Logback.每种Logger都可以通过配置使用控制台或者文件输出日志内容. 控制台输出 在Spring Boot中默认配置了ERROR.WARN和INFO级别的日志输出到控制台. 我们可以通过两种方式切换至DEBUG级别: a.在运行命令后加入--debug标志,如:$ Java -jar myapp.jar --d

  • spring boot 的常用注解使用小结

    @RestController和@RequestMapping注解 4.0重要的一个新的改进是@RestController注解,它继承自@Controller注解.4.0之前的版本,Spring MVC的组件都使用@Controller来标识当前类是一个控制器servlet.使用这个特性,我们可以开发REST服务的时候不需要使用@Controller而专门的@RestController. 当你实现一个RESTful web services的时候,response将一直通过response

  • spring springMVC中常用注解解析

    一,使用注解: 在spring的配置文件applicationContext.xml中,加入注解扫描.配置项就配置了对指定的包进行扫描,以实现依赖注入. <?xml version="1.0" encoding="UTF-8"?> <span style="font-size:18px;"><beans xmlns="http://www.springframework.org/schema/beans&q

  • Spring @Configuration注解及配置方法

    Spring @Configuration注解 Spring3.0开始,@Configuration用于定义配置类,定义的配置类可以替换xml文件,一般和@Bean注解联合使用. @Configuration注解主要标注在某个类上,相当于xml配置文件中的<beans> @Bean注解主要标注在某个方法上,相当于xml配置文件中的<bean> 等价于 注意:@Configuration注解的配置类有如下要求: @Configuration不可以是final类型: @Configur

  • IntelliJ IDEA 2020 安装和常用配置(推荐)

    IntelliJ IDEA 安装后需要进行初始化配置已更加方便使用.本文整理了比较通用的安装后初始配置. 本文的版本:IntelliJ IDEA 2020.1版(于2020年4月9日发布). 下载安装 打开网站:https://www.jetbrains.com/idea/download/. 下载安装分为exe和zip,这里选择Ulitmate版本的zip包下载. 然后,将下载的zip解压到一个目录中. 启动前配置 解压安装后先不要启动,先按下配置. 1.配置路径目录调整 默认情况, Inte

  • IntelliJ IDEA 2020常用配置设置大全(方便干活)

    IntelliJ IDEA 安装后需要进行初始化配置已更加方便使用.本文整理了比较通用的安装后初始配置. 本文适配版本:IntelliJ IDEA 2020.1版(于2020年4月9日发布). 本文适配版本:IntelliJ IDEA 2020.2.1版(于2020年8月25日发布). 本文适配版本:IntelliJ IDEA 2020.3版(于2020年12月1日发布). 安装和永久使用的方法,请参阅上篇:IntelliJ IDEA 2020最新激活码(亲测有效,可激活至 2089 年) 最新

随机推荐