spring基于纯注解开发
一,spring原始注解
spring原始注解主要是替代自定义<Bean>
的配置
1.1使用在类上面
- @Component:使用在自定义类上用于实例化Bean
@Component("userService")
public class UserServiceImpl implements UserService{
}
- @Controller:使用在web层类上用于实例化Bean,与Component相同
@Controller("userController")
public class UserControllerImpl implement UserController{
}
- @Service:使用在service层类上用于实例化Bean,与Component相同
@Service("userService")
public class UserServiceImpl implement UserService{
}
- @Repository:使用在dao层类上用于实例化Bean,与Component
@Repositroy("userDao")
public class UserDaoImpl implement UserDao{
}
- @Scope:使用在类上面,标注Bean的作用范围
@Scope("singleton")
public class UserDaoImpl implement UserDao{
}
1.2使用在成员变量上面
- @Autowired:按照数据类型从spring容器中注入,自动装配对象属性
@Autowired
private UserDao userDao;
- @Autowired
@Qualifier(“id名”):按照id名从spring容器中注入,自动装配对象属性
@Autowired
@Qualifier("注入bean的id值")
private UserDao userDao;
- @Resource:按照id名从spring容器中注入,自动装配对象属性
@Resource(name="注入bean的id值")
private UserDao userDao;
- @Value:注入普通属性,一般从加载的properties配置文件中通过spel从容器中取值
以达到解耦的目的.
@Value("${name}")
private String name;
1.3使用在成员方法上面
- @PostConstruct:使用在方法上面标注该方法时Bean的初始方法
@PostConstruct
public void init(){
System.out.println("该Bean的初始化方法");
}
- @PreDestroy:使用在方法上面标注该方法时Bean的销毁方法
@PreDestroy
public void destroy(){
System.out.println("该Bean的销毁方法");
}
二,spring的新注解
spring新注解主要是来配置原始注解不能配置的标签
2.1使用在类上面
- @Configuration:用于指定当前类是一个Spring核心配置类,当创建容器时会从该类上加载注解
@Configuration
public class SpringConfiguration(){
}
- @ComponentScan:用于指定Spring容器初始化时要扫描的包中的配置的组件.作用和在Spring核心配置文件中的标签
<context:component-scan base-package='包名' />
一样
@ComponentScan("包名")
public class SpringConfiguration(){
}
- @Import:用于导入其他配置类,可以导入多个
@Import({DataSourceConfiguration.class})
public class SpringConfiguration(){
}
- @PropertySource:用于加载.properties配置文件到Spring容器当中,这里以放在resource目录下面的jdbc.properties文件路径为例.
@PropertySource("classpath:jdbc.properties")
public class DataSourceConfiguration(){
}
2.2使用在方法上面
- @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个)