SpringBoot中如何進行Bean配置
Bean配置。
在使用Spring進行開發配置的時候有兩類配置:*.xml配置文件、配置的Bean(@Configure),於是在SpringBoot的開發的時間裡面,為了繼續崇尚所謂的「零配置」,提供有一種簡單的支持,也就是說如果現在你真的有配置需要通過*.xml文件編寫,但是又不想出現配置文件的話,這個時候最簡單的做法就是使用Bean的方式進行類的配置。
前提:該配置程序的Bean所在的包必須是程序啟動類所在包的子包之中,這樣才可以自動掃描到。
下面準備一個不是很正規的程序,建立一個業務介面,而後定義這個介面的子類:
public interface IMessageService {
public String info();
}
創建一個子類實現IMessageService介面:
@Service
public class MessgeServiceImpl implements IMessageService{
@Override
public String info() {
}
}
在控制器MessageController中注入IMessageService:
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
@RestController
public class MessageController extends AbstractBaseController{
@Resource
private IMessageService messageService;
@RequestMapping(value="/",
method = RequestMethod.GET)
public String idnex() {
return this.messageService.info();
@RequestMapping(value="/echo",
public String echo(String mid) {
return super.getMessage("welcome.msg",mid);
}
建立一個測試類:
import com.gwolf.StartSpringBootMain;
import org.junit.Test;
import org.springframework.test.context.web.WebAppConfiguration;
@SpringBootTest(classes = StartSpringBootMain.class)
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
public class TestMessageController {
private MessageController messageController;
@Test
public void testIndex() {
public void testEcho() {
}
@Configuration//此處為配置項
public class ServiceConfig {
@Bean//此處返回的是一個Spring的配置Bean,與xml的等價
public IMessageService getMessageService() {//方法名稱隨便寫
return new MessgeServiceImpl();
}
現在再次驗證程序是否能夠正常執行:
此時採用了自動掃描Bean的模式來進行相關對象的配置。SSM或SSH開發框架出現的時間比較長,現在遷移到SpringBoot之中,那麼說如果你現在已經有一個非常完善的xml配置文件出現了,那麼難道還需要將整個的xml配置文件轉化為Bean配置嗎?為了防止這類情況出現,SpringBoot也支持有配置文件的讀取。
TAG:Adolph談JAVA高端 |