09.spring的新注解

参考的学习视频→https://b23.tv/av47952931/p82

@Configuration

作用:指定当前类为一个配置类
细节:当配置类作为AnnotationConfigApplicationContext对象创建的参数时,该注解可以不写
 

@ComponentScan

作用:用于通过注解指定spring在创建容器时要扫描的包
属性value   和basePackages作用相同,等同于xml配置语句↓
<!--告知spring在创建容器时要扫描的包-->
<context:component-scan base-package="com.example"></context:component-scan>

@Bean

作用:用于把当前方法的返回值作为Bean对象存入spring的ioc容器中
属性name   用于指定bean的id,当不写时,默认值是当前方法的名称
细节:当使用注解配置方法时,如果方法有参数,spring框架会去容器中查找有无可用的Bean对象,查找的方式和@Autowired注解相同。

 

@Import

作用:用于导入其他的注释类
属性value   用于指定其他配置类的字节码

 

@PropertySource

作用:用于指定properties文件的位置
属性value   指定文件的名称和路径
关键字classpath   表示类路径下
 
用以上几个注解,就可以实现无xml文件啦
示例:新建一个SpringConfiguration类

将测试类中获取容器的方法改成AnnotationConfigApplicationContext,运行一下,成功~

-如果要用多个配置类

方法1(主从关系):在主配置类的@ComponentScan注解中加入从配置文件所在的包,从配置类一定要加@Configuration注解,AnnotationConfigApplicationContext方法只用传入主配置类做参数即可

自定义的主配置类:SpringConfiguration

自定义的从配置类:JdbcConfiguration

加载注解配置类(仅加载主类)

方法2(主从关系):在主配置类的@ComponentScan注解中加入@Import注解导入其余配置类

 

加载注解配置类(仅加载主类)

方法3(平行关系):将所有配置类都作为AnnotationConfigApplicationContext方法参数传入

▲以上三种方法中,仅方法一的从配置类必须使用@Configuration注解,其余情况下该注解都不是必要的

-如果要把参数放到properties文件中

这时候就要用上@PropertySource注解了

然后配置properties文件,就OK了

 
发布了51 篇原创文章 · 获赞 1 · 访问量 1077

猜你喜欢

转载自blog.csdn.net/si_si_si/article/details/104748312