Spring常用注解-新(Spring2.5规范以上)

SpringMVC学习记录文章目录:
1、程序的耦合和解耦思路
2、使用springIOC解决程序耦合的前期准备
3、BeanFactory和ApplicationContext的区别及ApplicationContext接口的实现类
4、bean标签及其实例化的3种方式
5、bean的作用范围和生命周期
6、Spring的依赖注入
7、基于注解的IOC环境搭建
8、基于注解的IOC-常用注解(Spring2.5规范)
9、Spring常用注解-新(Spring2.5规范以上)
10、Spring整合Junit单元测试
11、AOP的相关概念
12、Spring中AOP的术语
13、SpringAOP常用标签解释说明
14、SpringAOP中切入点表达式说明
15、SpringAOP类型说明及环绕通知的特殊说明
16、基于xml的SpringAOP配置
17、SpringAOP常用注解
18、基于注解的SpringAOP配置
19、Spring中的JdbcTemplate
20、Spring中的事务控制

首先我们先引入一个问题,如何把xml配置文件“干掉”?
这个是时候就要用到新的注解,但是也要创建一个类,这个类的作用相当于xml配置文件,也就是spring配置类。

@Configuration

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

  • value:用于指定配置类的字节码
    示例代码:
/**
 * 用于初始化spring容器的配置类
 */
@Configuration
public class SpringConfiguration{
}

@ComponentScan

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

  • basePackages:用于指定要扫描的包。和该注解中的value属性作用一样。
@Configuration
@ComponentScan("com")
public class SpringConfiguration{
}

@Bean

作用:该注解只能写在方法上,表明使用此方法创建一个对象,并且放入spring容器。它就相当于我们之前在xml配置中介绍的factory-bean和factory-method。

属性

  • name:用于指定bean的id
    • 默认值:方法的名称

代码示例

@Bean(name = "datasource2")
public DataSource createDS() throws Exception {
	ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
	comboPooledDataSource.setUser("root");
	comboPooledDataSource.setPassword("123456");
	comboPooledDataSource.setDriverClass("com.mysql.jdbc.Driver");
	comboPooledDataSource.setJdbcUrl("jdbc:mysql:///spring_ioc");
	return comboPooledDataSource;
}

@import

作用:用于导入其他配置类,在引入其他配置类时,可以不用再写@Configuration注解。写上也没问题。

属性

  • value[]:用于指定其他配置类的字节码。

特点

  • 当只需要用类里面方法的返回值是可以用,如果要调用方法,不能用

代码示例

@Configuration
@ComponentScan(basePackages = "config")
@Import({ Configuration_B.class})
public class Configuration_A {
}

	@Configuration
	@PropertySource("classpath:info.properties")
	public class Configuration_B {

}

@PropertySource

作用:用于加载.properties文件中的配置。例如我们配置数据源时,可以把连接数据库的信息写到properties配置文件中,就可以使用此注解指定properties配置文件的位置。

属性值

  • value[]:用于指定properties文件位置。如果是在类路径下,需要写上classpath:

然后在方法中用@Bean注入Srping容器中配置文件的数据

代码示例

@PropertySource("classpath:jdbc.properties")
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;

	@Bean(name="dataSource")
	public DataSource getDataSource(){
		BasicDataSource ds = new BasicDataSource();
		ds.setDriverClassName(driver);
		ds.setUrl(url);
		ds.setUsername(username);
		ds.setPassword(password);
		return ds;
	}	
}

jdbc.properties文件:

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/day01_spring
jdbc.username=root
jdbc.password=123456

注意:我们目前上课使用的版本是4.2.4,在spring4.3以前都需要提供一个占位符配置器:
PropertySourcesPlaceholderConfigurer
而在spring4.3以后,则不需要提供。
提供的方式如下:(在SpringConfiguration或JdbcConfig中配置均可)

代码示例

@Bean
public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
	return new PropertySourcesPlaceholderConfigurer();
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值