spring配置类和xml的案例理解

spring


一、spring配置类的注解(作用替代主xml的内容)

//注解:
	@Configuration:
		作用:用于指定当前类是一个配置类
		使用位置:当前类之前
			例:@Configuration
				public class springConfiguration{
   }	
				
	@ComponentScan
		作用:用于通过注解指定spring在创建容器时要扫描的包(即扫描这些包下的使用了创建类对象进入springIoc的核心容器中的类。)
		属性:value、basePackages的作用是一样的,都是用于指定创建容器时要扫描的包。
			(相当于在主xml中配置了
			 <!--修改的地方:告知spring在创建容器时要扫描的包-->
    			<context:component-scan base-package="com.fjut"></context:component-scan>)
    	使用位置:当前类之前。
    		例:@Configuration
    			@ComponentScan("com.fjut")	//即:要扫描根路径下的com包下的fjut包下的所有类
    			
    @Bean
    	作用:用于把当前/*方法的返回值*/作为bean对象存入spring的ioc的容器中。
    	属性:
    		name:用于存入核心容器中后指定bean的id。
    		(相当于在主xml中配置了
    		<!--配置jdbcTmplate-->
    		<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" scope="prototype">
        		<!--注入数据源(连接池)-->
        		<property name="dataSource" ref="dataSource"></property>
    		</bean>)
    	使用位置:方法之前。
    		例: /**
			     * 用于创建一个JdbcTemplate对象进核心容器中
			     * @param dataSource
			     * @return
			     */
			    @Bean(name = "jdbcTemplate")
			    @Scope("prototype")		//若创建的对象有参数,需要写上保证对象是多例的避免并发时的数据干扰。
			    public JdbcTemplate createJdbcTemplate(DataSource dataSource){
   
			        return new JdbcTemplate(dataSource);
			    } 
		 细节:若方法有参数,则到核心容器中查找。
		 	例:public JdbcTemplate createJdbcTemplate(DataSource dataSource)
		 		参数dataSource需要到核心容器中找到对应的类型,若有多个同类型的则找参数名相同的。(也就是和@Autowired查找方式一样(详细见案例))。
		 		若容器中没有,则参数位置报错。
		 		/**
			     * 配置链接数据源信息
			     * @return
			     */
			    @Bean(name = "dataSource")
			    public DataSource createDataSource(){
   
			        DruidDataSource druidDataSource = 
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring的Environment是用来获取应用程序的配置信息的一个接口。它可以读取环境变量、系统属性、以及应用程序的配置文件中的属性等信息。 使用Environment接口需要先将其注入到Spring容器中,可以通过在配置上添加@PropertySource注解或在XML配置文件中添加<context:property-placeholder>标签来指定应用程序的配置文件。接着就可以通过@Autowired或@Resource注解将Environment注入到需要使用的中,并通过其方法来获取配置信息。 下面是一个简单的案例,演示了如何使用Environment获取应用程序中的配置信息: ```java @Configuration @PropertySource("classpath:config.properties") public class AppConfig { @Autowired private Environment env; @Bean public DataSource dataSource() { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName(env.getProperty("db.driverClassName")); dataSource.setUrl(env.getProperty("db.url")); dataSource.setUsername(env.getProperty("db.username")); dataSource.setPassword(env.getProperty("db.password")); return dataSource; } } ``` 在上述案例中,我们首先使用@PropertySource注解指定了应用程序的配置文件为classpath:config.properties。接着在AppConfig中将Environment注入,并通过其getProperty方法读取配置文件中的属性值,并设置到BasicDataSource对象中,最终返回该对象。 值得注意的是,Environment接口的getProperty方法有多个重载版本,可以根据需要来选择不同的方法。同时,Spring还提供了其他一些与Environment相关的接口,例如PropertyResolver、PropertySources等,它们也可以帮助我们更方便地获取应用程序的配置信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值