我们为了不硬编码,把一些配置型的数据或者常量配置到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>
分享到:
相关推荐
在上述例子中,`Student`类中的`teacher`字段使用`@Autowired`注解,Spring会自动找到`Teacher`类型的Bean进行注入。 总之,Spring提供了多种方式来定义和管理Bean,从XML到注解再到Java配置,使得开发更加灵活高效...
在 Spring Boot 中,注入是一种非常重要的机制,用于将 bean 对象注入到其他 bean 对象中,以便实现松耦合和高内聚的设计目标。下面我们将对 Spring Boot 中的几种注入方法进行详细的介绍和分析。 1. @Autowired @...
spring动态向容器中添加bean和删除指定bean,不需要重启应用
这个bean将被添加到Spring的bean定义中,并且可以在其他bean中通过`@Autowired`进行注入。`@Bean`可以包含额外的配置,如`@Lazy`(表示延迟初始化)、`@Profile`(环境特定的bean)等。 在`@Autowired`注入时的顺序...
2. **属性注入**:Spring会根据Bean定义中的依赖注入(DI)信息,将其他Bean的引用或值设置到当前Bean的属性上。这可以通过setter方法、构造器注入、字段注入等方式完成。 3. **初始化**:在所有属性注入完成后,...
在Spring Boot中,属性注入是核心特性之一,它使得我们可以方便地将配置文件中的参数值注入到Bean类的属性中,从而实现灵活的配置管理。本文将详细讲解如何利用`@ConfigurationProperties`注解以及与`@...
本篇文章将深入探讨如何通过注解将配置资源注入到Bean中,以此来理解Spring的注解驱动开发。 1. **注解的基本概念** 注解是Java提供的一种元数据机制,它允许我们在代码中嵌入额外的信息,这些信息可以被编译器或...
- **通过代码注解**:Spring也支持通过注解来获取Bean,如`@Autowired`和`@Resource`,它们能够自动将依赖注入到目标字段或方法中,无需手动从ApplicationContext获取。 3. **静态Singleton Bean Manager** 通常...
这样,Spring会自动将配置文件中的值注入到bean中。 7. **Spring Boot测试**: 在测试场景下,可以使用`@SpringBootTest`注解启动整个Spring Boot应用,然后使用`@Autowired`注入需要的bean进行测试。 8. **Bean...
只要在字段、setter方法或构造函数上添加`@Autowired`,Spring就会自动匹配并注入相应的Bean。 ```java public class MyClass { @Autowired private MyBean myBean; } ``` 4. **通过`@Resource`注解** `@...
在Spring框架中,依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)是两大核心特性,同时自动注入Bean也是Spring管理对象的一种常见方式。让我们深入探讨这些概念。 首先,...
2. **属性注入**:接着,Spring会根据Bean定义中的依赖注入(DI)信息,为Bean的属性设置值。这可以是通过setter方法、构造函数或者字段注入实现。 3. **初始化回调**:在属性注入完成后,Spring会调用Bean的初始化...
通过定义无参构造函数,并为每个依赖项提供相应的setter方法,Spring容器在创建Bean后,通过调用setter方法将依赖项注入到Bean中。这种注入方式的优点是灵活且易于理解,尤其适用于那些不需要在构造时就设置参数的...
标题《spring3零配置注解实现Bean定义》中蕴含的知识点主要包括Spring框架中的Bean定义配置方法的演进,特别是从Spring 2.5到Spring 3版本的过渡过程中,对于注解方式实现Bean定义的支持如何被引入和优化。...
在Spring框架中,Bean的属性注入是其核心功能之一,使得我们可以轻松地管理对象的依赖关系,无需在代码中硬编码这些依赖。本篇将详细探讨Spring中的SpEL(Spring Expression Language)注入,这是一种强大的表达式...
6. **自动装配(Autowired)**: Spring的自动装配功能可以自动将依赖注入到Bean中,无需手动配置。`@Autowired`注解可以应用在字段、方法和构造函数上,Spring会根据类型或名称自动寻找匹配的Bean进行注入。 7. ** ...
通过以上内容,我们可以了解到Spring中Bean属性注入的多种方式及其背后的原理。了解并熟练运用这些技巧,能够帮助我们更有效地设计和管理Spring应用中的对象依赖关系。在实际开发中,结合源码阅读和实践,可以进一步...
这篇博客文章“使用 Spring LDAP 读取数据并映射到 Java Bean 中”主要探讨了如何通过Spring LDAP来查询LDAP目录信息,并将查询结果转换为Java对象,以便在应用程序中进一步处理。 首先,`pom.xml`文件是Maven项目...
在Spring框架中,Bean是核心概念,它代表了应用程序中的对象。这些对象由Spring容器管理,包括它们的创建、初始化、装配以及生命周期管理。在大型项目中,手动编写Bean的配置文件可能会变得繁琐且易出错。为了简化这...
在Spring早期版本中,依赖注入主要通过XML配置文件实现,即在配置文件中明确指定哪些bean之间存在依赖关系,然后由Spring容器负责在运行时创建并装配这些bean。 然而,随着Java注解的普及,Spring也引入了基于注解...