Spring的环境配置
创建maven导入spring-context坐标
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.3.16</version>
</dependency>
Spring的注解开发
(所有的注解首字母都是大写)
注解分为两类:
1.注册bean,把你需要的实例对象转化为bean存到spring的容器中
比如 @Component
可以简单理解为把UserDao这个类创建(注册)一个名字为userdao的实例放到Spring的容器中
@Service @Repository @Controller 和@Component作用一模一样,只是为了方便开发人员知道这是属于哪一层 (点击了解三层架构)
@Service :业务逻辑层
@Controller:表现层
@Repository:数据访问层
@Component:不知道哪层
其他的注册注解:@Configration @Bean @Import @ComponentScan @PropertySource
@Configration :表示这个类为Spring的配置类,相当于把配置开发的applicationContext.xml变为了一个类。
@PropertySource :把配置文件的变量放到Spring容器中。可以用EL表达式直接获取。
这是一个配置Druid的配置类:
配置文件的内容:
@PropertySource("classpath:druid.properties"):把properties文件放入Spring容器后,可以用@value(“${属性名字}”)直接获取。
第二点会介绍@value的用法。 ${属性名字} 为EL表达式
@Bean(“XX”) 把方法的返回值取个别名放到容器中
可以使用get.Bean(“xx”)直接获取。
2.使用Bean,把容器中的Bean拿出来用
@Autowired @Qualifierd @Resource(name = "") 这三个注解作用比较相似。
@Autowired根据变量的类型在spring容器中找,如果同类型变量有多个就不行。
@Qualifierd(“id”)根据给的id,在spring容器中找,id在容器中唯一。
@Resource(name = "id") 可以理解为上两个注解的合体,找相同变量类型的id,只记住这个就足够。
@Value(“id”):在spring容器根据id中找到Bean,并注入到变量,也就是赋值。
如:
在容器中找到“driver”这个Bean,并把这个Bean注入给自己定义的Driver。