我怎样才能获得spring-boot主类包名

时间:2016-12-22 02:07:17

标签: java spring spring-boot

我想制作一个spring-boot启动器,所以我需要获取应用程序main-class的包名。 我怎么才能得到它? 有时,您可以使用侦听器进行spring引导,但必须在application.properties中进行配置。

3 个答案:

答案 0 :(得分:0)

通过这种方法,您可以获得当前类的包。

protected void Button1_Click(object sender, EventArgs e) { SqlConnection cn = new SqlConnection("Data Source=(LocalDB)\\v11.0;AttachDbFilename=|DataDirectory|\\Database.mdf;Integrated Security=True"); try { cn.Open(); SqlCommand cmd = new SqlCommand("create table Employee (empno int,empname varchar(50),salary money);", cn); cmd.ExecuteNonQuery(); lblAlert.Text = "SucessFully Connected"; cn.Close(); } catch (Exception eq) { lblAlert.Text = eq.ToString(); } }

答案 1 :(得分:0)

您可以使用以下事实:主类可能会用@SpringBootApplication进行注释,然后在Spring Context中搜索该类。实现类似的东西:

@Service
public class ApplicationFinder {

  @Autowired private ApplicationContext context;

  public String findBootClass() {
    Map<String, Object> candidates = context.getBeansWithAnnotation(SpringBootApplication.class);
    return candidates.isEmpty() ? null : candidates.values().toArray()[0].getClass();
  }
}

一旦有了类名,就可以对其进行字符串切片以提取包。

答案 2 :(得分:0)

import org.springframework.boot.autoconfigure.AutoConfigurationPackages;    
import org.springframework.context.ApplicationContext;

AutoConfigurationPackages.get(context.getAutowireCapableBeanFactory())