欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring基于纯注解开发

程序员文章站 2022-03-06 20:59:58
...

spring基于纯注解开发

一,spring原始注解

spring原始注解主要是替代自定义<Bean>的配置

1.1使用在类上面

  1. @Component:使用在自定义类上用于实例化Bean

    @Component("userService")
    public class UserServiceImpl implements UserService{
        
    }
    
  2. @Controller:使用在web层类上用于实例化Bean,与Component相同

    @Controller("userController")
    public class UserControllerImpl implement UserController{
        
    }
    
  3. @Service:使用在service层类上用于实例化Bean,与Component相同

    @Service("userService")
    public class UserServiceImpl implement UserService{
        
    }
    
  4. @Repository:使用在dao层类上用于实例化Bean,与Component

    @Repositroy("userDao")
    public class UserDaoImpl implement UserDao{
        
    }
    
  5. @Scope:使用在类上面,标注Bean的作用范围

    @Scope("singleton")
    public class UserDaoImpl implement UserDao{
        
    }
    

1.2使用在成员变量上面

  1. @Autowired:按照数据类型从spring容器中注入,自动装配对象属性

    @Autowired
    private UserDao userDao;
    
  2. @Autowired

    @Qualifier(“id名”):按照id名从spring容器中注入,自动装配对象属性

    @Autowired
    @Qualifier("注入bean的id值")
    private UserDao userDao;
    
  3. @Resource:按照id名从spring容器中注入,自动装配对象属性

    @Resource(name="注入bean的id值")
    private UserDao userDao;
    
  4. @Value:注入普通属性,一般从加载的properties配置文件中通过spel从容器中取值

    以达到解耦的目的.

    @Value("${name}")
    private String name;
    

1.3使用在成员方法上面

  1. @PostConstruct:使用在方法上面标注该方法时Bean的初始方法

    @PostConstruct
    public void init(){
        System.out.println("该Bean的初始化方法");
    }
    
  2. @PreDestroy:使用在方法上面标注该方法时Bean的销毁方法

    @PreDestroy
    public void destroy(){
        System.out.println("该Bean的销毁方法");
    }
    

二,spring的新注解

spring新注解主要是来配置原始注解不能配置的标签

2.1使用在类上面

  1. @Configuration:用于指定当前类是一个Spring核心配置类,当创建容器时会从该类上加载注解

    @Configuration
    public class SpringConfiguration(){
        
    }
    
  2. @ComponentScan:用于指定Spring容器初始化时要扫描的包中的配置的组件.作用和在Spring核心配置文件中的标签 <context:component-scan base-package='包名' /> 一样

    @ComponentScan("包名")
    public class SpringConfiguration(){
        
    }
    
  3. @Import:用于导入其他配置类,可以导入多个

    @Import({DataSourceConfiguration.class})
    public class SpringConfiguration(){
        
    }
    
  4. @PropertySource:用于加载.properties配置文件到Spring容器当中,这里以放在resource目录下面的jdbc.properties文件路径为例.

    @PropertySource("classpath:jdbc.properties")
    public class DataSourceConfiguration(){
        
    }
    

2.2使用在方法上面

  1. @Bean:使用在方法上面,标注将该方法的返回值存储到Spring容器当中,这里就可以将非自定义的bean存入到Spring容器当中

    @Bean("connection")
    public Connection getConnection(){
        
    } 
    

三,总结

Spring基于注解开发

原始标签一共常用的是11个,可以完成

  1. 注入自定义bean(4个)
  2. 设置自定义bean的作用范围(1个)
  3. 设置自定义bean的初始方法(1个)
  4. 设置自定义bean的销毁方法(1个)
  5. 注入对象属性(3个)
  6. 注入普通属性(1个)

新标签一共常用的是5个,可以完成

  1. 标注一个自定义bean为核心配置类(1个)
  2. 扫描指定包名(1个)
  3. 导入其他配置类(1个)
  4. 加载.properties配置文件(1个)
  5. 将非自定义bean存储到Spring容器当中(1个)

上一篇: 杂--

下一篇: python && excel