JAVAEE框架之Spring新注解
五.Spring5 新注解
新的注解有用,为后面的SpringBoot可以打一个基础,因为到SpringBoot的课程, 多了很多注解。这时候,先了解一部分。
5.1 @Configuration
@Configuration主要是用来定义配置类,可用于代替xml配置文件,比如之前设置的beans.xml
5.2 @ComponentScan
该注解默认会扫描该类所在的包下所有的配置类,相当于之前的 context:component-scan
5.3 @Bean
@Bean是一个方法级别上的注解,主要用在@Configuration注解的类里,也可以用在@Component注解的类里。如果不写,则默认的是添加的bean的id为方法名。
@Bean(value=“id值”)
@Configuration
public class SpringConfig {
@Bean(value = "dog")
public Dog getDog(){
return new Dog("京东狗",6.18);
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
5.4 AnnotationConfigApplicationContex
使用AnnotationConfigApplicationContext可以实现基于Java的配置类加载Spring的应用上下文。避免使用application.xml进行配置。相比XML配置,更加便捷。
ApplicationContext ac=new AnnotationConfigApplicationContext(SpringConfig.class);
Dog dog= (Dog) ac.getBean("dog");
System.out.println(dog.toString());
- 1
- 2
- 3
5.5 Import
-
用到的Bean导入到容器
@Import(value = {Dog.class,Cat.class}) //测试类: ApplicationContext ac=new AnnotationConfigApplicationContext(SpringConfig.class); Dog dog= (Dog) ac.getBean(Dog.class); System.out.println(dog.toString());
- 1
- 2
- 3
- 4
- 5
- 6
-
导入另外一个配置类
相当于<import resource=“lasspath:xxx.xml”/>
5.6 PropertySource
注解用于指定资源文件读取的位置,它不仅能读取properties文件,也能读取xml文件,并且通过YAML解析器,配合自定义PropertySourceFactory实现解析YAML文件。
相当于xml文件里面的:
<context:property-placeholder location="classpath:/hibernate.properties" />
- 1
加了:druid的配置类
pom.xml
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.1.9</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
package com.aaa.config;
import com.alibaba.druid.pool.DruidDataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
/**
* Created by 张晨光 on 2020/6/18 9:26
*/
@Configuration
@PropertySource("classpath:/druid.properties")
public class JdbcConfig {
@Value("${driverClassName}")
private String driverClassName;
@Value("${url}")
private String url;
@Value("${username}")
private String username;
@Value("${password}")
private String password;
/*@Override
public String toString() {
return "JdbcConfig{" +
"driverClassName='" + driverClassName + '\'' +
", url='" + url + '\'' +
", username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}*/
//注册Druid数据源连接池
@Bean
public DruidDataSource druidDataSource(){
// System.out.println("driverClassName====> " + driverClassName);
// System.out.println("url====> " + url);
// System.out.println("username====> " + username);
// System.out.println("username====> " + username);
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName(driverClassName);
druidDataSource.setUrl(url);
druidDataSource.setUsername(username);
druidDataSource.setPassword(password);
return druidDataSource;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
测试 类:
@org.junit.Test
public void testTwo(){
ApplicationContext ac= new AnnotationConfigApplicationContext(SpringConfig.class);
DruidDataSource druidDataSource= (DruidDataSource) ac.getBean("druidDataSource");
System.out.println(druidDataSource);
}
- 1
- 2
- 3
- 4
- 5
- 6
回顾:
1.建立了两个配置类:SpringConfig、JdbcConfig
2.第一个配置类主要测试的注解有:@Configuration @ComponentScan @Bean @Import
3.第二个配置类主要测试的注解有:@PropertySrouce,主要再次来测试一下,从外部来获取配置文件;
4.都用到了AnnotationConfigApplicationContext类。
> " + driverClassName);
// System.out.println("url==> " + url);
// System.out.println("username====> " + username);
// System.out.println("username====> " + username);
DruidDataSource druidDataSource = new DruidDataSource();
druidDataSource.setDriverClassName(driverClassName);
druidDataSource.setUrl(url);
druidDataSource.setUsername(username);
druidDataSource.setPassword(password);
return druidDataSource;
}
}
测试 类:
```java
@org.junit.Test
public void testTwo(){
ApplicationContext ac= new AnnotationConfigApplicationContext(SpringConfig.class);
DruidDataSource druidDataSource= (DruidDataSource) ac.getBean("druidDataSource");
System.out.println(druidDataSource);
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
回顾:
1.建立了两个配置类:SpringConfig、JdbcConfig
2.第一个配置类主要测试的注解有:@Configuration @ComponentScan @Bean @Import
3.第二个配置类主要测试的注解有:@PropertySrouce,主要再次来测试一下,从外部来获取配置文件;
4.都用到了AnnotationConfigApplicationContext类。
如果你不习惯于用注解,那么可以先使用配置文件来,只要达成效果即可,理解即可。
文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。
原文链接:aaaedu.blog.csdn.net/article/details/106839363
- 点赞
- 收藏
- 关注作者
评论(0)