SRPING02_配置数据源、原始注解开发、新注解开发、集成Junit代码实现(二)

简介: SRPING02_配置数据源、原始注解开发、新注解开发、集成Junit代码实现(二)

②. Spring原始注解开发


  • ①. Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率。


  • ②. Spring原始注解主要是替代<Bean>的配置


image.png


③. 注意事项(使用注解进行开发时,需要在applicationContext.xml中配置组件扫描,作用是指定哪个包及其子包下的Bean需要进行扫描以便识别使用注解配置的类、字段和方法)


  <!--注解的组件扫描-->
  <context:component-scan base-package="com.xiaozhi"></context:component-scan>


④. 代码演示


  //@Component("userDao") 相当于:
  <bean id="userDao" class="com.xiaozhi.UserDaoImpl"/>
  使用@Compont或@Repository标识UserDaoImpl需要Spring进行实例化
  //@Component("userDao")
  @Repository("userDao")
  public class UserDaoImpl implements UserDao {
      @Override
      public void save() {
        System.out.println("save running... ...");
      }
  }
  //使用@Compont或@Service标识UserServiceImpl需要Spring进行实例化
  //使用@Autowired或者@Autowired+@Qulifier或者@Resource进行userDao的注入
  //@Component("userService")
  @Service("userService")
  public class UserServiceImpl implements UserService {
      /*@Autowired
      @Qualifier("userDao")*/
      @Resource(name="userDao")
      private UserDao userDao;
      @Override
      public void save() {       
        userDao.save();
      }
  }


  //使用@Value进行字符串的注入
  @Repository("userDao")
  public class UserDaoImpl implements UserDao {
      @Value("注入普通数据")
      private String str;
      @Value("${jdbc.driver}")
      private String driver;
      @Override
      public void save() {
          System.out.println(str);
          System.out.println(driver);
          System.out.println("save running... ...");
      }
  }


  //使用@Scope标注Bean的范围
  //@Scope("prototype")
  @Scope("singleton")
  public class UserDaoImpl implements UserDao {
     //此处省略代码
  }


  //使用@PostConstruct标注初始化方法,使用@PreDestroy标注销毁方法
  @PostConstruct
  public void init(){
    System.out.println("初始化方法....");
  }
  @PreDestroy
  public void destroy(){
    System.out.println("销毁方法.....");
  }


相关文章
|
10月前
|
人工智能 自然语言处理 安全
代码静态扫描工具集成与实践
代码静态扫描工具(Static Application Security Testing, SAST)是在不运行代码的情况下,通过分析源代码或二进制代码来发现潜在安全漏洞、代码缺陷和质量问题的工具
1144 4
|
10月前
|
机器学习/深度学习 编解码 计算机视觉
用于高效高光谱图像分类的多尺度上下文感知集成深度 KELM(Matlab代码实现)
用于高效高光谱图像分类的多尺度上下文感知集成深度 KELM(Matlab代码实现)
195 2
|
10月前
|
XML 测试技术 API
利用C#开发ONVIF客户端和集成RTSP播放功能
利用C#开发ONVIF客户端和集成RTSP播放功能
4737 123
|
10月前
|
编解码 算法 自动驾驶
【雷达通信】用于集成传感和通信的OFDM雷达传感算法(Matlab代码实现)
【雷达通信】用于集成传感和通信的OFDM雷达传感算法(Matlab代码实现)
690 125
|
11月前
|
机器学习/深度学习 算法 数据挖掘
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
没发论文的注意啦!重磅更新!GWO-BP-AdaBoost预测!灰狼优化、人工神经网络与AdaBoost集成学习算法预测研究(Matlab代码实现)
294 0
|
12月前
|
安全 API 数据安全/隐私保护
低代码革命:API无代码集成如何让企业“3天上线一个生态”?
在数字化转型浪潮中,API成为释放数据价值、提升企业效率的核心。本文详解API架构设计、安全实践与跨平台集成,为CTO提供效率提升指南,涵盖微服务、安全认证、协议选择、低代码集成及未来趋势,助力企业构建敏捷、安全、高效的数字生态。
|
12月前
|
数据采集 运维 DataWorks
DataWorks 千万级任务调度与全链路集成开发治理赋能智能驾驶技术突破
智能驾驶数据预处理面临数据孤岛、任务爆炸与开发运维一体化三大挑战。DataWorks提供一站式的解决方案,支持千万级任务调度、多源数据集成及全链路数据开发,助力智能驾驶模型数据处理与模型训练高效落地。
|
SQL Java 关系型数据库
Dataphin功能Tips系列(53)-离线集成任务如何合理配置JVM资源
本文探讨了将MySQL数据同步至Hive时出现OOM问题的解决方案。
435 5
|
10月前
|
机器学习/深度学习 数据采集 传感器
基于多尺度集成极限学习机回归(Matlab代码实现)
基于多尺度集成极限学习机回归(Matlab代码实现)
209 1
|
10月前
|
机器学习/深度学习 运维 算法
【EI复现】一种建筑集成光储系统规划运行综合优化方法(Matlab代码实现)
【EI复现】一种建筑集成光储系统规划运行综合优化方法(Matlab代码实现)
254 1

热门文章

最新文章