Spring @configration(注解配置所需环境)
Posted 吃人陈乐游刘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring @configration(注解配置所需环境)相关的知识,希望对你有一定的参考价值。
1.@configration
- 作用: @Configuration:表明当前的类是一个配置类,Spring中配置类有特殊的地位,一般有一个核心的配置类,用来构建Spring容器,也可以写普通配置类被其他的配置类加载
- @ComponentScan:指定Spring要扫描的包(当Spring构建容器时,将会扫描这个包以及它的子包,扫描所有的注解)
- 基于这两个注解以及AnnotationConfigApplicationContext注解配置核心容器类,可以实现无XML的零配置
解决问题:
<!-- 告诉 spring 在创建 bean 容器时要扫描的包 -->不需要每次都扫描
<context:component-scan base-package="com.bookmanagesystem"></context:component-scan>包。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="com.bookmanagesystem"></context:component-scan>//配置好之后这行就用不到了
</beans>
现在离不开配置文件,主要是因为其中有一句配置信息告诉spring在创
建bean容器时需要扫描的包,这个时候spring就会扫描指定的包以及
下面的子包中所有类上或者接口上的注解:
这里需要能够起到相同功能的类和注解就是@configration
1.(1)建立配置类
• 类名和包名都可以更改,不限制(2)关键注解
• @Configuration 作用:指定当前类是一个配置类 • @ComponentScan 作用:用于指定spring在创建容器时要扫描的包 属性:value/basePackages:它们作用相同,都是用于指定创建容器时要扫描 的包 使用了此注解后,就相当于配置了XML中的<context:component-scan base package="***" 如下 主函数中 public static void main(String[] args)
// 1. 获取核心容器对象
//ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
IUserService service = (IUserService) context.getBean("userService");
System.out.println(service);
System.out.println(service.queryUser());
// 3.关闭容器(如果不记得关闭容器,最典型的问题就是数据库连接不能释放)
//((ClassPathXmlApplicationContext) context).close();
((AnnotationConfigApplicationContext) context).close();
自己写的扫描配置文件SpringConfig
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
@ComponentScan("com.bookmanagesystem")
public class SpringConfig
以上是关于Spring @configration(注解配置所需环境)的主要内容,如果未能解决你的问题,请参考以下文章