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 {

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值