Do you really want to autowire the variables? Or do you want to set them explictly when getting the bean?
In the later case, you can simply call ApplicationContext.getBean(Class<T> clz, Object ... arguments), in your case...
Person person = context.getBean(Person.class, "Henry", "Miller");
Obviously that doesn't have anything to do with @Autowired. Or do you want to autowire some strings into it? In that case you normally would use the @Value annotation. Autowired is used to inject beans, which you can do via field injection...
@Autowired
private MyService service;
...via constructor injection...
@Autowired
public Person(MyService service) { ... }
...via setter injection...
@Autowired
public void setMyService(MyService service) {..}
But normally you only autowire beans that way. Strings are no beans, so you have to use @Value...
@Autowired
public Person(@Value('${app.some.property}') final String firstName) {...}
This would inject the configured property of app.some.property into that bean. Of course, this only is good if you actually want to inject something from the application context. If you want to create the Person dynamically, you can use the method above.