Cha*_*dan 10 java spring spring-boot
我是Spring Boot Application的新手.我想了解spring Boot Application如何在没有@Configuration类的情况下创建bean.我看了一个示例项目,其中既没有@Bean定义也没有组件扫描,但@Autowired提供了对类的依赖.请看下面的代码:
@RestController
public class RestController{
**@Autowired
public CertificationService certificationService;**
.
.
.
.
}
//Interface
public interface CertificationService{
public List<Certification> findAll();
}
//Implementation Class
@Transactional
@Service
public class CertificationServiceImpl{
public List<Certification> findAll(){
.
.
}
}
Run Code Online (Sandbox Code Playgroud)
我对spring的有限知识告诉我,当一个类上有@Service注释时,必须有一个@ComponentScan来创建bean.但是没有组件扫描,如何创建CertificationServiceImpl bean,以及RestController中的CertificationService自动装配如何在这里工作?
如文档中所述:
...
@SpringBootApplication
注释等同于使用@Configuration
,@EnableAutoConfiguration
和@ComponentScan
......
假设您有Spring Boot app类,例如:
package com.mypackage;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringBootApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootApplication.class, args);
}
}
Run Code Online (Sandbox Code Playgroud)
然后com.mypackage
,默认情况下会为Spring组件扫描包下面的所有包.顺便说一句,您可以指定要在@SpringBootApplication
注释中直接扫描的包,而不使用@ComponentScan
.更多细节在这里.
归档时间: |
|
查看次数: |
650 次 |
最近记录: |