Spring完全注解开发
程序员文章站
2022-07-13 10:39:22
...
完全注解开发的意思就是不使用xml配置文件,之前我们可以用使用注解方式替代xml配置文件方式完成很多事情,但是还是要在配置文件中开启组件扫描,现在我们创建一个配置类来完全代替配置文件,在配置类中完成开启组件扫描的操作。
创建配置类,替代xml配置文件
@Configuration: 把当前类作为配置类,替代xml配置文件
SpringConfig类:
package com.Keafmd.spring5.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
/**
* Keafmd
*
* @ClassName: SpringConfig
* @Description: Spring配置类
* @author: 牛哄哄的柯南
* @date: 2021-01-17 17:04
*/
@Configuration //把当前类作为配置类,替代xml配置文件
@ComponentScan(basePackages = {"com.Keafmd"}) // 替代配置文件中的<context:component-scan base-package="com.Keafmd"></context:component-scan>
public class SpringConfig {
}
测试类
测试类:
package com.Keafmd.spring5.testdemo;
import com.Keafmd.spring5.config.SpringConfig;
import com.Keafmd.spring5.service.UserService;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
/**
* Keafmd
*
* @ClassName: TestSpring5Demo1
* @Description: 测试类
* @author: 牛哄哄的柯南
* @date: 2021-01-17 13:03
*/
public class TestSpring5Demo1 {
@Test
public void testService(){
//使用配置文件
ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");
UserService userService = context.getBean("userService",UserService.class);
System.out.println(userService);
userService.add();
}
@Test
public void testService2(){
// 加载配置类
ApplicationContext context = new AnnotationConfigApplicationContext(SpringConfig.class);
UserService userService = context.getBean("userService",UserService.class);
System.out.println(userService);
userService.add();
}
}
两种测试输出结果相同:
com.Keafmd.spring5.service.UserService@7ce3cb8e
name:Keafmd
service add......
dao add ...
Process finished with exit code 0
这样我们就通过实用配置类的方式完全替代了配置文件,从而达到完全注解开发。
看完如果对你有帮助,感谢点赞支持!
如果你是电脑端的话,看到右下角的 “一键三连” 了吗,没错点它[哈哈]
加油!
共同努力!
Keafmd
推荐阅读
-
详解Spring Data JPA使用@Query注解(Using @Query)
-
Spring Boot与Spark、Cassandra系统集成开发示例
-
Spring启动后获取所有拥有特定注解的Bean实例代码
-
Spring MVC的常用注解
-
Spring注解之@Autowired、@Qualifier、@Resource、@Value
-
详解基于Spring Cloud几行配置完成单点登录开发
-
mysql 开发进阶篇系列 47 xtrabackup (完全备份恢复,恢复后重启失败总结)
-
开发者福音:Google将Android默认字体Roboto完全开源了
-
IDEA开发spring boot应用时 application.yml 或 application.properties 自定义属性提示
-
Spring的IOC注解开发入门1