一,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个,可以完成

注入自定义bean(4个)
设置自定义bean的作用范围(1个)
设置自定义bean的初始方法(1个)
设置自定义bean的销毁方法(1个)
注入对象属性(3个)
注入普通属性(1个)
新标签一共常用的是5个,可以完成

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

最后修改:2021 年 03 月 17 日 11 : 41 PM
如果觉得我的文章对你有用,请随意赞赏