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("销毁方法.....");
  }


相关文章
|
4月前
|
Java 开发工具 git
spring boot 集成 ctrip apollo 实现动态配置更新
spring boot 集成 ctrip apollo 实现动态配置更新
50 1
|
1月前
|
Devops 开发工具 数据安全/隐私保护
Docker Swarm总结+CI/CD Devops、gitlab、sonarqube以及harbor的安装集成配置(3/5)
Docker Swarm总结+CI/CD Devops、gitlab、sonarqube以及harbor的安装集成配置(3/5)
53 0
|
3月前
|
IDE 前端开发 JavaScript
【C#】C# 开发环境配置(Rider 一个.NET 跨平台集成开发环境)
【1月更文挑战第26天】【C#】C# 开发环境配置(Rider 一个.NET 跨平台集成开发环境)
|
4月前
|
安全 架构师 Java
SpringBoot【集成 jasypt】实现配置信息自定义加解密(自定义的属性探测和密码解析器)
SpringBoot【集成 jasypt】实现配置信息自定义加解密(自定义的属性探测和密码解析器)
120 0
|
4月前
|
监控 关系型数据库 Java
SpringBoot【集成 01】Druid+Dynamic+Greenplum(实际上用的是PostgreSQL的驱动)及 dbType not support 问题处理(附hikari相关配置)
SpringBoot【集成 01】Druid+Dynamic+Greenplum(实际上用的是PostgreSQL的驱动)及 dbType not support 问题处理(附hikari相关配置)
76 0
|
4月前
|
NoSQL Java API
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
SpringBoot【ElasticSearch集成 02】Java HTTP Rest client for ElasticSearch Jest 客户端集成(依赖+配置+增删改查测试源码)推荐使用
57 0
|
4月前
|
Java API
SpringBoot【集成ElasticSearch 01】2种方式的高级客户端 RestHighLevelClient 使用(依赖+配置+客户端API测试源码)
SpringBoot【集成ElasticSearch 01】2种方式的高级客户端 RestHighLevelClient 使用(依赖+配置+客户端API测试源码)
78 0
|
15天前
|
消息中间件 Java Kafka
Springboot集成高低版本kafka
Springboot集成高低版本kafka
|
22天前
|
NoSQL Java Redis
SpringBoot集成Redis解决表单重复提交接口幂等(亲测可用)
SpringBoot集成Redis解决表单重复提交接口幂等(亲测可用)
75 0
|
27天前
|
NoSQL Java Redis
SpringBoot集成Redis
SpringBoot集成Redis
188 0

热门文章

最新文章