SpringBoot:依赖注入

来自WHY42

首先建一个Bean类,比方说一个服务:

@Service
public class UserService {
    public boolean login(String user, String passwd){
        return user.equals(passwd);
    }
}

其次在需要IOC的地方申明:

@RestController
@EnableAutoConfiguration
public class RestfulController {
    private static final Logger logger = LoggerFactory.getLogger("rest");

    @Autowired
    UserService service;
...

最后还需要创建一个bean:

public class Config {
    @Bean
    UserService configUserService() {
        return new UserService();
    }
}

有一点需要注意,一般来讲工程的布局如下:

com
 +- riguz
     +- micrork
         +- App.java
         +- config
         |   +- Config.java
         +- service
         |   +- UserService.java
         +- controller
             +- RestfulController.java

如果把主函数提取到App中,则写法是:

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class App {
    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }
}

注意这里的几个注解会帮助完成依赖注入等等一大堆事情。另外注意,run里面写App.class。