Spring 将对象注入@Repository并加载组件扫描-无自动连线

Spring 将对象注入@Repository并加载组件扫描-无自动连线,spring,dependency-injection,repository,Spring,Dependency Injection,Repository,我定义了以下Dao类: @Repository public class MyDao { private JdbcTemplate jdbcTemplate; private String myString; @Autowired public void setDataSource(DataSource dataSource) { this.jdbcTemplate = new JdbcTemplate(dataSource); } 我在定义MyDao的包上

我定义了以下Dao类:

@Repository
public class MyDao {

  private JdbcTemplate jdbcTemplate;

  private String myString;

  @Autowired 
  public void setDataSource(DataSource dataSource) {
    this.jdbcTemplate = new JdbcTemplate(dataSource);
  }

我在定义MyDao的包上使用组件扫描,因此在Spring配置文件中没有MyDao的bean定义。有没有一种方法可以在不使用自动连接的情况下将字符串注入myString?我的备选方案是什么?

Spring附带了@Value注释,您可以使用它来注入字符串


还有一个名为的配置框架,允许注入嵌套配置(如json)。

Nice!如果我有一个复杂的对象而不是字符串呢?有没有基于Spring的技巧可以做到这一点?您可以使用Constretto或plain Spring注入更复杂的对象: