0
点赞
收藏
分享

微信扫一扫

spring注解开发(7)

sullay 2022-03-11 阅读 166

一. 原始注解

在这里插入图片描述
首先在spring配置文件中开启组建扫描,指定注解起作用的包:

<context:component-scan base-package="com.guazicola"></context:component-scan>

1. @component

加在类的上面,相当于用bean标签创建类对象。可以添加括号指定id名称。

@Component("userDao")
public class UserDaoImpl implements UserDao {
    @Override
    public void save() {
        System.out.println("save....");
    }
}

2. 怎么注入参数依赖

两个标签:

  • @Autowired 如果只配置这个标签,就会根据类型从spring容器中自动注入
  • @Qualifier(依赖的id) 指定注入的依赖名称,要和@autowired一起用
@Component("userService")
public class UserServiceImpl implements UserService {

    @Autowired
    @Qualifier("userDao")
    private UserDao userDao;

    @Override
    public void save() {
        userDao.save();
    }
}

3. 另外三个用于实例化的注解

在这里插入图片描述
他们的功能和@component是一样,区别在于,他们会用于不同的层,好让人一看到注解就是到是哪一层的。

二. 新注解

在这里插入图片描述
主程序:

public class UserControllerImpl implements UserController {
    public static void main(String[] args){
        ApplicationContext app = new AnnotationConfigApplicationContext(SpringConfiguration.class);
        UserService userService = (UserService) app.getBean("userService");
        userService.save();
    }
}

配置类SpringConfiguration:

@ComponentScan("com.guazicola")
@Import({DataSourceConfiguration.class})
@Configuration
public class SpringConfiguration {

}

配置类DataSourceConfiguration:

@Configuration
@PropertySource("jdbc.properties")  //配置property的来源
public class DataSourceConfiguration {
    @Value("${jdbc.driver}")
    private String driver;
    @Value("${jdbc.url}")
    private String url;
    @Value("${jdbc.username}")
    private String username;
    @Value("${jdbc.password}")
    private String password;

    @Bean("dataSource") //@bean会将返回值传到spring容器中
    public DataSource getDataSource() throws Exception{
        DruidDataSource druidDataSource = new DruidDataSource();
        druidDataSource.setDriverClassName(driver);
        druidDataSource.setUrl(url);
        druidDataSource.setUsername(username);
        druidDataSource.setPassword(password);

        return druidDataSource;
    }
}
举报

相关推荐

Spring注解开发

Spring 注解开发

spring注解开发

Spring 注解开发详解

14.0、Spring注解开发

Spring纯注解开发

注解开发Spring AOP

Spring-全注解开发

0 条评论