我最近在学习Spring boot,里面有太多的魔法.我发现大部分资源,包括官方网站,都专注于如何使用它,而不是解释它是如何工作的.有人可以分享这些资源吗?
更新:
也许我的描述引起了一些混乱(关闭投票),我实际上是在寻找以下问题的答案:
我正在尝试使用spring boot编写web应用程序,但发现从控制器方法返回的对象变为空json,她的是我的代码:
Application.java
@Configuration
@ComponentScan
@EnableAutoConfiguration
@EnableWebMvc
public class Application {
@Bean
public DataSource ds() {
BasicDataSource ds = new org.apache.commons.dbcp.BasicDataSource();
ds.setDriverClassName("com.mysql.jdbc.Driver");
ds.setUrl("jdbc:mysql://localhost:3306/test");
ds.setUsername("root");
ds.setPassword("test");
return ds;
}
@Bean
public AbstractEntityManagerFactoryBean entityManagerFactory(DataSource dataSource, JpaVendorAdapter jpaVendorAdapter) {
LocalContainerEntityManagerFactoryBean lef = new LocalContainerEntityManagerFactoryBean();
lef.setDataSource(ds());
lef.setJpaVendorAdapter(jpaVendorAdapter);
lef.setPackagesToScan("hello");
return lef;
}
@Bean
public JpaVendorAdapter jpaVendorAdapter() {
HibernateJpaVendorAdapter hibernateJpaVendorAdapter = new HibernateJpaVendorAdapter();
hibernateJpaVendorAdapter.setShowSql(true);
hibernateJpaVendorAdapter.setGenerateDdl(true);
hibernateJpaVendorAdapter.setDatabase(Database.MYSQL);
return hibernateJpaVendorAdapter;
}
@Bean
public PlatformTransactionManager transactionManager() {
return new JpaTransactionManager();
}
public static void main(String[] args) {
ConfigurableApplicationContext context …Run Code Online (Sandbox Code Playgroud) 我在尝试@Singleton of Guice时遇到了一个问题:
import com.google.inject.Singleton;
@Singleton
public class ConfigManager {
private String data;
public void setData(String data) {
this.data = data;
}
public String getData(){
return this.data;
}
public static void main(String[] args){
ConfigManager config1 = Guice.createInjector().getInstance(ConfigManager.class);
ConfigManager config2 = Guice.createInjector().getInstance(ConfigManager.class);
config1.setData("data");
System.out.println(config2.getData());
}
}
Run Code Online (Sandbox Code Playgroud)
为什么这个简单的样本总是打印空?