`
king520
  • 浏览: 174575 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
文章分类
社区版块
存档分类
最新评论

关于资源文件中的字段是如何注入到spring bean中的

 
阅读更多

我们为了不硬编码,把一些配置型的数据或者常量配置到properties文件中:

eg:

jdbc.meeting.url = 192.168.1.6:1521:test
jdbc.meeting.username =system
jdbc.meeting.password =oracle
hibernate.show_sql=false

ftp.ipAdrress=192.168.1.33
ftp.port=21
ftp.username=guo
ftp.password=111111

ftp.localPathRoot=D://ftpLocalFiles//
ftp.remotePathRoot=/generatorFiles/

然后我们直接在代码中调用bean的一个常量获取这个值。

private String ftpIpAddress;
	private int ftpPort;
	private String ftpUserName;
	private String ftpPassword;
	
	//FTP路径配置
	private String ftpLocalPathRoot;
	private String ftpRemotePathRoot;
	
	public String getFtpLocalPathRoot() {
		return ftpLocalPathRoot;
	}

	public void setFtpLocalPathRoot(String ftpLocalPathRoot) {
		this.ftpLocalPathRoot = ftpLocalPathRoot;
	}

	public String getFtpRemotePathRoot() {
		return ftpRemotePathRoot;
	}

	public void setFtpRemotePathRoot(String ftpRemotePathRoot) {
		this.ftpRemotePathRoot = ftpRemotePathRoot;
	}

	public void setFtpIpAddress(String ftpIpAddress) {
		this.ftpIpAddress = ftpIpAddress;
	}

	public void setFtpPort(int ftpPort) {
		this.ftpPort = ftpPort;
	}

	public void setFtpUserName(String ftpUserName) {
		this.ftpUserName = ftpUserName;
	}

	public void setFtpPassword(String ftpPassword) {
		this.ftpPassword = ftpPassword;
	}
	
	public String getFtpIpAddress() {
		return ftpIpAddress;
	}

	public int getFtpPort() {
		return ftpPort;
	}

	public String getFtpUserName() {
		return ftpUserName;
	}

	public String getFtpPassword() {
		return ftpPassword;
	}
}

即可获取对应的值。做法:

配置corePropertyConfigurer

    <bean id="corePropertyConfigurer"
		class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
		<property name="locations">
			<list>
				<value>classpath:sys-config.properties</value>
			</list>
		</property>
	</bean>

配置service或bean的时候 进行注入:

 <bean id="ftpService"
	    class="com.wirelesscity.tools.ftp.FtpServiceImpl">
	    <property name="ftpIpAddress">
			<value>${ftp.ipAdrress}</value>
		</property>
		<property name="ftpPort">
			<value>${ftp.port}</value>
		</property>
		<property name="ftpUserName">
			<value>${ftp.username}</value>
		</property>
		<property name="ftpPassword">
			<value>${ftp.password}</value>
		</property>
		<property name="ftpLocalPathRoot">
			<value>${ftp.localPathRoot}</value>
		</property>
		<property name="ftpRemotePathRoot">
			<value>${ftp.remotePathRoot}</value>
		</property>
	</bean>



分享到:
评论

相关推荐

    Spring定义bean的三种方式和自动注入

    在上述例子中,`Student`类中的`teacher`字段使用`@Autowired`注解,Spring会自动找到`Teacher`类型的Bean进行注入。 总之,Spring提供了多种方式来定义和管理Bean,从XML到注解再到Java配置,使得开发更加灵活高效...

    关于spring boot中几种注入方法的一些个人看法

    在 Spring Boot 中,注入是一种非常重要的机制,用于将 bean 对象注入到其他 bean 对象中,以便实现松耦合和高内聚的设计目标。下面我们将对 Spring Boot 中的几种注入方法进行详细的介绍和分析。 1. @Autowired @...

    spring动态向容器中添加bean和删除指定bean.md

    spring动态向容器中添加bean和删除指定bean,不需要重启应用

    通过@Autowired注解注入bean的顺序,以及@bean注入.rar

    这个bean将被添加到Spring的bean定义中,并且可以在其他bean中通过`@Autowired`进行注入。`@Bean`可以包含额外的配置,如`@Lazy`(表示延迟初始化)、`@Profile`(环境特定的bean)等。 在`@Autowired`注入时的顺序...

    spring bean的生命周期测试代码

    2. **属性注入**:Spring会根据Bean定义中的依赖注入(DI)信息,将其他Bean的引用或值设置到当前Bean的属性上。这可以通过setter方法、构造器注入、字段注入等方式完成。 3. **初始化**:在所有属性注入完成后,...

    Spring boot将配置属性注入到bean类中

    在Spring Boot中,属性注入是核心特性之一,它使得我们可以方便地将配置文件中的参数值注入到Bean类的属性中,从而实现灵活的配置管理。本文将详细讲解如何利用`@ConfigurationProperties`注解以及与`@...

    扩展Spring—使用Annotation将配置资源注入到Bean中

    本篇文章将深入探讨如何通过注解将配置资源注入到Bean中,以此来理解Spring的注解驱动开发。 1. **注解的基本概念** 注解是Java提供的一种元数据机制,它允许我们在代码中嵌入额外的信息,这些信息可以被编译器或...

    Java中Spring获取bean方法小结

    - **通过代码注解**:Spring也支持通过注解来获取Bean,如`@Autowired`和`@Resource`,它们能够自动将依赖注入到目标字段或方法中,无需手动从ApplicationContext获取。 3. **静态Singleton Bean Manager** 通常...

    17. Spring Boot普通类调用bean【从零开始学Spring Boot】

    这样,Spring会自动将配置文件中的值注入到bean中。 7. **Spring Boot测试**: 在测试场景下,可以使用`@SpringBootTest`注解启动整个Spring Boot应用,然后使用`@Autowired`注入需要的bean进行测试。 8. **Bean...

    Spring在应用中获得Bean的方法

    只要在字段、setter方法或构造函数上添加`@Autowired`,Spring就会自动匹配并注入相应的Bean。 ```java public class MyClass { @Autowired private MyBean myBean; } ``` 4. **通过`@Resource`注解** `@...

    Spring-注入依赖,AOP,自动注入Bean

    在Spring框架中,依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)是两大核心特性,同时自动注入Bean也是Spring管理对象的一种常见方式。让我们深入探讨这些概念。 首先,...

    Spring中Bean的生命周期 applicationcontext的应用(实现国际化,事件的传递)

    2. **属性注入**:接着,Spring会根据Bean定义中的依赖注入(DI)信息,为Bean的属性设置值。这可以是通过setter方法、构造函数或者字段注入实现。 3. **初始化回调**:在属性注入完成后,Spring会调用Bean的初始化...

    面试官常问的spring依赖注入和bean的装配问题.pdf

    通过定义无参构造函数,并为每个依赖项提供相应的setter方法,Spring容器在创建Bean后,通过调用setter方法将依赖项注入到Bean中。这种注入方式的优点是灵活且易于理解,尤其适用于那些不需要在构造时就设置参数的...

    spring3零配置注解实现Bean定义

    标题《spring3零配置注解实现Bean定义》中蕴含的知识点主要包括Spring框架中的Bean定义配置方法的演进,特别是从Spring 2.5到Spring 3版本的过渡过程中,对于注解方式实现Bean定义的支持如何被引入和优化。...

    day38 13-Spring的Bean的属性的注入:SpEL注入

    在Spring框架中,Bean的属性注入是其核心功能之一,使得我们可以轻松地管理对象的依赖关系,无需在代码中硬编码这些依赖。本篇将详细探讨Spring中的SpEL(Spring Expression Language)注入,这是一种强大的表达式...

    spring 中特殊bean用法

    6. **自动装配(Autowired)**: Spring的自动装配功能可以自动将依赖注入到Bean中,无需手动配置。`@Autowired`注解可以应用在字段、方法和构造函数上,Spring会根据类型或名称自动寻找匹配的Bean进行注入。 7. ** ...

    day38 11-Spring的Bean的属性的注入:对象属性

    通过以上内容,我们可以了解到Spring中Bean属性注入的多种方式及其背后的原理。了解并熟练运用这些技巧,能够帮助我们更有效地设计和管理Spring应用中的对象依赖关系。在实际开发中,结合源码阅读和实践,可以进一步...

    使用 Spring LDAP 读取数据并映射到 Java Bean 中

    这篇博客文章“使用 Spring LDAP 读取数据并映射到 Java Bean 中”主要探讨了如何通过Spring LDAP来查询LDAP目录信息,并将查询结果转换为Java对象,以便在应用程序中进一步处理。 首先,`pom.xml`文件是Maven项目...

    spring自动生成bean项目

    在Spring框架中,Bean是核心概念,它代表了应用程序中的对象。这些对象由Spring容器管理,包括它们的创建、初始化、装配以及生命周期管理。在大型项目中,手动编写Bean的配置文件可能会变得繁琐且易出错。为了简化这...

    Spring注解注入属性

    在Spring早期版本中,依赖注入主要通过XML配置文件实现,即在配置文件中明确指定哪些bean之间存在依赖关系,然后由Spring容器负责在运行时创建并装配这些bean。 然而,随着Java注解的普及,Spring也引入了基于注解...

Global site tag (gtag.js) - Google Analytics