SPRING框架2

注解开发定义bean

  使用@Component定义bean

@Component("bookDao")
public class BookDaoImpl implements BookDao {

    @Override
    public void find() {
        System.out.println("BookDaoImpl...");
    }
}

  核心配置文件中通过组件扫描加载bean

<context:component-scan base-package="com.itcast"></context:component-scan>

  spring提供@Component注解的三个衍生注解

  • @Controller:用于表现层bean定义
  • @Service:用于业务层bean定义
  • @Repository:用于数据层bean定义
@Repository("bookDao")
public class BookDaoImpl implements BookDao {}
@Service
public class BookServiceImpl implements BookService {}

  

纯注解开发

 

 

 

 

bean的生命周期

 

@Repository
@Scope("singleton")
public class BookDaoImpl implements BookDao {}

@Repository("bookDao")
@Scope("singleton")
public class BookDaoImpl implements BookDao {
    @Override
    public void save() {
        System.out.println("book dao save...");
    }

    @PostConstruct
    public void init() {
        System.out.println("初始化。。");
    }

    @PreDestroy
    public void destroy() {
        System.out.println("销毁。。。");
    }
}



//关闭容器

ctx.close

依赖注入

@Service
public class BookServiceImpl implements BookService {
    @Autowired
    private BookDao bookDao;
//可省略setter方法
//    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
        }
    public void save() {
        System.out.println("book service save ...");
        bookDao.save();
    }
}

@Service
public class BookServiceImpl implements BookService {
    @Autowired
    @Qualifier("bookDao")
    private BookDao bookDao;
}

@Repository("bookDao")
public class BookDaoImpl implements BookDao {
    @Value("itheima")
    private String name;
}

@Configuration
@ComponentScan("com.itheima")
@PropertySource("classpath:jdbc.properties")
public class SpringConfig {}

 第三方bean管理

 

 

 

 

 

 

 XML配置比对注解配置

 

posted @ 2022-06-01 16:48  格兰芬多剁剁剁  阅读(28)  评论(0)    收藏  举报