首页 > 其他分享 >spring纯注解开发模式

spring纯注解开发模式

时间:2023-07-13 16:14:21浏览次数:30  
标签:BookDao spring Component bookDao 模式 注解 dang import public

1、IOC的注解:

1.1 @Component【重点】:相当于<bean>标签:把对象交给spring管理,spring会帮助我们创建对象。

@controller,@Service,@Repository与@Component的作用完全一致,但更加详细化。

@Controller:用于web层的bean;

@Service:用于service层的bean;

@Repository:用于dao层的bean;

1.2其他注解【了解】

@scope:定义类的范围,更多是定义单例与多例。scope的常用值:singleton:单例,prototype:多例。

2、DI的注解:

1、@Comfiguration:标记这个类是一个配置类。

2、@ComponentScan:扫描包,扫描IOC与DI的注解。

3、@PropertySource:用来导入外部的properties文件。

4、@Import:用来导入配置子类或者其他普通类。

5、@Bean:打在方法上,spring会自动调用方法并获得返回值进行管理。

代码实现

springConfig
package dang.config;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

//声明当前类为Spring配置类
@Configuration
//设置bean扫描路径,多个路径书写为字符串数组格式
@ComponentScan({"dang.service","dang.dao"})
public class SpringConfig {
}

bookDaoImpl
package dang.dao.impl;

import dang.dao.BookDao;
import org.springframework.stereotype.Repository;

//@Component定义bean
//@Component("bookDao")
//@Repository:@Component衍生注解
@Repository("bookDao")
public class BookDaoImpl implements BookDao {
    public void save() {
        System.out.println("book dao save ...");
    }
}
bookSERviceImpl
package dang.service.impl;

import dang.dao.BookDao;
import dang.service.BookService;
import org.springframework.stereotype.Service;

//@Component定义bean
//@Component
//@Service:@Component衍生注解
@Service
public class BookServiceImpl implements BookService {
    private BookDao bookDao;

    public void setBookDao(BookDao bookDao) {
        this.bookDao = bookDao;
    }

    public void save() {
        System.out.println("book service save ...");
        bookDao.save();
    }
}
AppForAnnotation
import dang.config.SpringConfig;
import dang.dao.BookDao;
import dang.service.BookService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;

public class AppForAnnotation {
    public static void main(String[] args) {
        //AnnotationConfigApplicationContext加载Spring配置类初始化Spring容器
        ApplicationContext ctx = new AnnotationConfigApplicationContext(SpringConfig.class);
        BookDao bookDao = (BookDao) ctx.getBean("bookDao");
        System.out.println(bookDao);
        //按类型获取bean
        BookService bookService = ctx.getBean(BookService.class);
        System.out.println(bookService);
    }
}

标签:BookDao,spring,Component,bookDao,模式,注解,dang,import,public
From: https://www.cnblogs.com/cpdd-dc/p/17551169.html

相关文章

  • spring cloud Eureka 注册中心
    SpringCloud是一组框架和工具集,用于快速构建分布式系统,为微服务架构提供了全套技术支持。其中,注册中心是SpringCloud微服务架构中的一个重要组件,它提供了服务注册和发现的功能,是构建分布式系统的基础。本文将介绍SpringCloud中的Eureka注册中心,并给出相应的示例说明。Eureka注......
  • JPA的@Query与@Param注解使用方式 执行原生sql参数是否加@Param 这里明白了
    JPA的@Query与@Param注解使用方式执行原生sql参数是否加@Param这里明白了原文链接:https://blog.csdn.net/m0_37965811/article/details/123034370@Query是JPA中的注解,用于绑定方法和与数据库表有关的操作。它的查询语法格式分为两种,一种是数据库原生语句,这种方式需要在属......
  • Springboot实现注解判断权限
    Springboot实现注解判断权限今天记录一下使用springboot的注解来给方法加权限避免了每个方法都需要大量的权限判断超级好用√@目录Springboot实现注解判断权限1.创建权限注解2.定义一个权限的枚举类3.创建拦截器AOP校验权限poincut表达式介绍4.使用注解1.创建权限注解首先......
  • springboot整合kafka
    一、引入依赖(kafka的版本和springboot的版本对不上的话,启动会报错,包类不存在)<dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>2.5.1.RELEASE</version></de......
  • springboot - 整合flyway
    一、概念官网:https://flywaydb.org/数据库版本控制管理工具,通过集成Flyway可以实现启动项目时自动执行项目迭代升级。Flyway已经支持数据库包括:Oracle,SQLServer,SQLAzure,DB2,DB2z/OS,MySQL(includingAmazonRDS),MariaDB,GoogleCloudSQL,PostgreSQL(includ......
  • SpringMVC简介
          ......
  • hibernate的使用总结 结合spring
    一、整体的hibernate流程。首先我们通过web.xml中可以找到spring的配置文件(往往我们可以把spring配置文件分为多个:Dao相关的,logic相关的各种logic的bean,表现层相关的各种action的bean),其中在dao相关的配置中,我们可以通过配置dataSource/某种连接池,sessionF......
  • SVN 签出源码 Struts Spring Hibernate
    SVN签出源码StrutsSpringHibernate很多优秀的开源项目已经提供SVN源码签出了,无论是解疑还是学习,都是一大幸福之事啊!Apache的SVN库,强烈推荐!http://svn.apache.org/repos/asf/里面不但有Struts的源码,还有著名的Apachejakartaproject相当好的WebUI框......
  • SpringCloud 之OpenFeign 自定义配置和使用/自定义拦截器
    转:SpringCloud之OpenFeign自定义配置和使用/自定义拦截器   ......
  • @IdClass 注解和@Id JPA联合主键和注意事项
    @IdClass注解和@IdJPA联合主键原文链接:https://www.hxstrive.com/subject/open_jpa/538.htm前面章节已经介绍了@Id注解,该注解定义实体类中某个属性为数据库的主键,一个实体里面必须有一个主键。本章节将介绍@IdClass注解,该注解用来为某个实体指定复合主键,复合主键存放在......