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配置比对注解配置
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!