本文导读
- 本文承接《@ImportResource 导入Spring 配置文件》
- 已经知道可以使用“@ImportResource”来导入Spring 配置文件,比如以前经常在beans.xml配置的各种定时器、自己写的类以及各种第三方如MyBatis与Hibernate的类实例等,但Spring官方并不建议这么做,因为现在主流是面向全注解编程。
- 所以现在就用@Configuration(配置类)来替代以前的Spring配置文件;用@Bean来替代Spring配置文件中<bean>标签,来给容器中添加组件
需 求
- 仍然以《@ImportResource 导入Spring 配置文件》中的例子进行二次开发,需求同理
- 从浏览器访问UserController中的deleteUser()方法,然后调用UserService的deleteUser()方法模拟删除用户
- UserController使用@Controller注解,UserService不再使用@Service注解,也不在通过beans.xml进行配置,而是使用@Configuration与@Bean进行配置与添加
- User实体作为被删除的用户,采用@Value注入初始值,模拟被删除的用户

MyAppConfig
package com.lct.config;
import com.lct.service.UserService;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* Created by Administrator on 2018/7/12 0012.
*
* @Configuration 指明当前类是一个配置类;就是来替代之前的Spring配置文件,如beans.xml
* 配置类可以有多个
*/
@Configuration
public class MyAppConfig {
/**
* 相当于以前beans.xml中的:<bean id="userService" class="com.lct.service.UserService"/>
* 将方法的返回值添加到容器中;容器中这个组件默认的id就是方法名
* @return
*/
@Bean
public UserService userService() {
return new UserService();
}
}
应用启动类
package com.lct;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.ImportResource;
/**
* 应用启动类
* 因为使用了@Configuration配置类,则之前的@ImportResource就不用了
*/
@SpringBootApplication
public class CocoApplication {
public static void main(String[] args) {
SpringApplication.run(CocoApplication.class, args);
}
}
运行测试

