Spring - 注解开发bean的生命周期、依赖注入引用类型和简单类型、加载properties文件

75 阅读1分钟

bean的生命周期

  • 使用@PostConstruct定义bean的初始化方法 使用@PreDestroy定义bean的销毁方法
@Repository("bookDao")//定义注解
@Scope("prototype")// 设置bean的作用范围 表示非单例模式 默认单例
public class BookDaoImpl implements BookDao {

    @Override
    public void bookDao() {
        System.out.println("BookDao");
    }
    @PostConstruct //定义初始化
    public void init() {
        System.out.println("BookDao");
    }
    @PreDestroy //定义销毁
    public void destroy() {
        System.out.println("BookDao");
    }
}

bean的依赖注入

  • 使用@Autowired注解开启自动装配模式(按类型) image.png
  • 使用@Qualifier注解开启指定名称装配 image.png
  • 使用@Value配置简单类型的值

@Service("BookService")
public class BookServiceImpl implements BookService {
    @Autowired // 按类型自动装配
    private BookDao bookDao;
    @Value("${jdbc.name}")// 配置简单类型的值 从properties加载值
    private String name;
    @Override
    public void bookService() {
        System.out.println("bookService" + name);
        bookDao.bookDao();
    }
}

纯注解开发模式加载properties文件

  • 使用@PropertySource注解加载properties文件
@Configuration //设置当前类为配置类
@ComponentScan("com.itheima") //设置扫描路径
@PropertySource("classpath:jdbc.properties")//设置加载properties文件 注意:路径仅支持单一文件配置。多文件请使用数组格式配置,不允许使用通配符*
public class SpringConfig {
}