【Spring框架】(六)Spring 新注解

本文介绍了Spring框架中的新注解,如@Configuration、@ComponentScan、@Bean、@PropertySource和@Import,用于替代XML配置。@Configuration标记配置类,@ComponentScan指定扫描包,@Bean表示创建bean,@PropertySource加载属性文件,@Import导入其他配置类。通过这些注解,可以实现纯注解配置,简化Spring应用的初始化过程。
摘要由CSDN通过智能技术生成

新注解说明

为了更多使用纯注解配置bean,脱离xml文件配置。我们使用更多的新注解。

@Configuration

作用
用于指定当前类是一个 spring 配置类,当创建容器时会从该类上加载注解。
获取容器时需要使用 AnnotationApplicationContext ( 有@Configuration 注解的 类. class )。
属性
value : 用于指定配置类的字节码

示例代码:

@Configuration
public class SpringConfiguration {
   
}

注意:我们已经把配置文件用类来代替了,但是如何配置创建容器时要扫描的包呢?
请看下一个注解。




@ComponentScan

作用
用于指定 spring 在初始化容器时要扫描的包。作用和在 spring 的 xml 配置文件中的:
< context:component-scan base-package="com.itheima"/>是一样的。
属性
basePackages:用于指定要扫描的包。和该注解中的 value 属性作用一样。

@Configuration
@ComponentScan("com.itheima")
public class SpringConfiguration {
   
}

注意:我们已经配置好了要扫描的包,但是数据源和 JdbcTemplate 对象如何从配置文件中移除呢?
请看下一个注解。




@Bean

作用
该注解只能写在方法上,表明使用此方法创建一个对象,并且放入 spring 容器。
属性
name:给当前@Bean 注解方法创建的对象指定一个名称 (即 bean 的 id)。

public class JdbcConfig {
   
/**
* 创建一个数据源,并存入 spring 容器中
* @return
*/
@Bean(name="dataSource")
public DataSource createDataSource() {
   
try {
   
		ComboPooledDataSource ds = new ComboPooledDataSource();
		ds.setUser("root");
		ds.setPassword("1234");
		ds.setDriverClass("com.mysql.jdbc.Driver");
		ds.setJdbcUrl("jdbc:mysql:///spring_day02");
		
		return ds;
		
} catch (Exception e) {
   
		throw new RuntimeException(e);
  }
} 
/**
* 创建一个 DBAssit,并且也存入 spring 容器中
* @param dataSource
* @return
*/
@Bean(name="dbAssit")
public DBAssit createDBAssit(DataSource dataSource) {
   
		return new DBAssit(dataSource);
  }
}

注意:
我们已经把数据源和 DBAssit 从配置文件中移除了,此时可以删除 bean.xml 了
但是由于没有了配置文件,创建数据源的配置又都写死在类中了。如何把它们配置出来呢?
请看下一个注解。




@PropertySource

作用
用于加载.properties 文件中的配置。
例如我们配置数据源时,可以把连接数据库的信息写到properties
配置文件中,就可以使用此注解指定 properties 配置文件的位置
属性
value[]:用于指定 properties文件位置。如果是在类路径下,需要写上 classpath:

示例代码:

配置:
/**
* 连接数据库的配置类
*/
public class JdbcConfig {
   
@Value("${jdbc.driver}")
private String driver;
@Value("${jdbc.url}")
private String url;
@Value("${jdbc.username}")
private String username;
@Value("${jdbc.password}")
private String password;
/**
* 创建一个数据源,并存入 spring 容器中
* @return
*/
@Bean
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_popo_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值