Spring核心IoC容器的依赖注入接口和层级包命名规范
作者:路遥叶子 时间:2021-12-31 02:22:57
1.图集导航
1.1 为什么对包名的命名要有所规范呢!
使用规范的命名有益于程序的开发和后期阅读
通俗的说:就是自己写的代码别人也能看的懂,代码结构不会乱,知道自己写什么
2. 代码数据关联【可参考】
2.1 FilmDao接口
public interface FilmDao {
void selectAll();
}
FilmDaoImpl 接口实现类
@Repository("filmDao")
public class FilmDaoImpl implements FilmDao {
@Override
public void selectAll() {
System.out.println("dao-film");
}
}
2.2 daomain 【Film类】
----现阶段还没有Spring整合MyBatis,该类现在用不到
//JavaBean
public class Film {
private String fname ;
private Double fprice ;
//注:构造和set/get方法省略
}
2.3 FilmService 接口
public interface FilmService {
void selectAll();
}
FilmServiceImpl 接口实现类
@Service("filmService")
public class FilmServiceImpl implements FilmService {
//依赖注入
@Resource(name="filmDao")
private FilmDao film;
@Override
public void selectAll() {
film.selectAll();
System.out.println("service-film");
}
}
2.4 FilmController 接口
public interface FilmController {
void selectAll();
}
FilmControllerImpl 接口实现类
@Controller("filmController")
public class FilmControllerImpl implements FilmController {
//依赖注入
@Resource(name="filmService")
private FilmService filmService;
@Override
public void selectAll() {
filmService.selectAll();
System.out.println("controller-film");
}
}
2.5 FilmConfiguration 配置类
@Configuration //声明配置类
@ComponentScan(basePackages = "com.czxy") //加载所需要的包
public class FilmConfiguration {
}
2.6 TestFilm 测试类
@RunWith(SpringRunner.class) //Spring整合Junit
@ContextConfiguration(classes = FilmConfiguration.class) //加载配置类
public class TestFilm {
//依赖注入
@Resource(name="filmController")
private FilmController filmServlet;
@Test
public void test(){
filmServlet.selectAll();
}
}
测试结果
3.图集总结
来源:https://luyaoyz.blog.csdn.net/article/details/121678034
标签:Spring,核心,IoC容器
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java多线程锁机制相关原理实例解析
2023-05-25 12:33:37
![](https://img.aspxhome.com/file/2023/0/96110_0s.png)
c#在WebAPI使用Session的方法
2023-07-07 23:20:10
VS2019打包WPF安装程序最新教程(图文详解)
2021-11-18 15:52:08
![](https://img.aspxhome.com/file/2023/8/81098_0s.jpg)
C#中反射和扩展方法如何运用
2023-08-02 01:43:16
C# 16进制与字符串、字节数组之间的转换
2021-07-13 08:08:10
浅谈java安全编码指南之死锁dead lock
2023-06-22 04:49:19
Springboot异常日志输出方式
2022-04-14 05:38:27
![](https://img.aspxhome.com/file/2023/3/85503_0s.png)
Java中垃圾回收器GC对吞吐量的影响测试
2022-12-16 12:15:53
IDEA 2020.1 搜索不到Chinese (Simplified) Language Pack EAP,无法安装的问题
2023-11-10 23:54:01
![](https://img.aspxhome.com/file/2023/6/59316_0s.jpg)
Java实现分页的前台页面和后台代码
2021-07-22 17:10:04
![](https://img.aspxhome.com/file/2023/1/61381_0s.jpg)
C#处理猜拳问题的简单实例(非窗体)
2021-08-01 18:58:22
Spring的组合注解和元注解原理与用法详解
2023-12-05 10:25:05
springboot @Async 注解如何实现方法异步
2023-11-18 18:16:03
Java常用函数式接口总结
2022-02-02 00:02:50
![](https://img.aspxhome.com/file/2023/8/68178_0s.png)
浅析C#静态类,静态构造函数,静态变量
2022-04-10 03:33:14
浅析Java自定义注解的用法
2022-06-08 01:52:58
![](https://img.aspxhome.com/file/2023/7/84167_0s.png)
C#用Topshelf创建Windows服务的步骤分享
2022-10-19 00:47:58
![](https://img.aspxhome.com/file/2023/4/76414_0s.png)
SpringBoot 如何使用RestTemplate发送Post请求
2022-03-03 09:35:47
![](https://img.aspxhome.com/file/2023/7/66527_0s.png)
完美解决java读取大文件内存溢出的问题
2023-07-31 17:53:17
Unity实现打砖块游戏
2023-12-06 04:45:04
![](https://img.aspxhome.com/file/2023/2/102172_0s.jpg)