spring純註解開發
- 說明: 本文是基於一個spring+DBUtils寫的數據庫CURD操做的小demo, 地址: 此處 的 spring02-annotation-demo
- @Configuration: 指明當前類時一個配置類
- 細節: 當前類是AnnotationConfigApplicationContext的參數時, 該註解能夠不寫
測試代碼:git
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfiguration.class)
public class Demo {
@Resource(name = "userService")
private UserService service;
@Test
public void demo01() throws SQLException {
List<User> users = service.getUsers();
users.forEach(System.out::println);
}
}
- @RunWith: 指定運行器
- @ContextConfiguration: locations指定配置文件路徑, classes指定配置類
- @ComponentScan: 指明spring建立容器時要掃描的包
- 屬性: value|basePackages兩個屬性做用同樣, 用於指定包
- 使用此註解就等同於在xml中配置了
<context:component-scan base-package="cn.ann"/>
- @Bean: 用於把當前方法的返回值做爲bean對象存入spring容器中
- 屬性: name ---> 用於指定當前bean的id. 默認是方法名
- 細節: 當咱們使用註解配置方法時, 若是方法有參數, spring框架會去容器中查找有沒有可用的bean對象. 查找方式與@Autowired註解相同
- @Import: 用於導入其餘的配置類
- 屬性: 要導入的配置類的字節碼對象
- 有該註解的類是主配置|父配置類
- @PropertySource: 用指定外部的properties文件
- 屬性: properties文件地址. 用classpath來指定是類路徑
對於註解開發和配置文件開發, 在開發中, 哪一種方式方便, 咱們就選那種, 兩種方式結合會比較多
本文代碼地址: 此處 的 spring02-annotation-noxmlgithub