SPRING框架2

注解开发定义bean

  使用@Component定义bean

1
2
3
4
5
6
7
8
@Component("bookDao")
public class BookDaoImpl implements BookDao {
 
    @Override
    public void find() {
        System.out.println("BookDaoImpl...");
    }
}

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

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

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

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

  

纯注解开发

 

 

 

 

bean的生命周期

 

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@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("销毁。。。");
    }
}<br><br><br><br>//关闭容器

ctx.close

依赖注入

1
2
3
4
5
6
7
8
9
10
11
12
13
@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();
    }
}

1
2
3
4
5
6
@Service
public class BookServiceImpl implements BookService {
    @Autowired
    @Qualifier("bookDao")
    private BookDao bookDao;
}

1
2
3
4
5
@Repository("bookDao")
public class BookDaoImpl implements BookDao {
    @Value("itheima")
    private String name;
}

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

 第三方bean管理

 

 

 

 

 

 

 XML配置比对注解配置

 

posted @   格兰芬多剁剁剁  阅读(24)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示