1. 程式人生 > >spring boot 學習記錄

spring boot 學習記錄

把ssm專案移植到springboot  上遇到了許多坑,記錄一下,方便以後產看。

0、啟動類要放在所有要掃面的類的父類或者同級的目錄上,否則將訪問不到controller。(官方預設的方式)

也可以自己指定掃面的路徑 @ComponentScan(" 這裡放掃面的包 "),好像不能指定多個包。如果要在掃面的包裡注入jar包裡的been。需要手動寫一個配置been的檔案

例如

<?xml version="1.0" encoding="UTF-8"?>
 <beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">  
<!-- google驗證碼服務bean -->
<bean id="captchaService" class="com.google.code.kaptcha.impl.DefaultKaptcha">
<property name="config">
<bean class="com.google.code.kaptcha.util.Config">
<constructor-arg type="java.util.Properties">
<props>
<prop key="kaptcha.border">no</prop>
<prop key="kaptcha.image.width">88</prop>
<prop key="kaptcha.image.height">36</prop>
<prop key="kaptcha.textproducer.font.size">32</prop>
<prop key="kaptcha.textproducer.char.length">4</prop>
<prop key="kaptcha.textproducer.font.names">Arial,Courier</prop>
<prop key="kaptcha.textproducer.font.color">black</prop>
<prop key="kaptcha.textproducer.char.string">acdefhiknrstuvx3478</prop>
<prop key="kaptcha.obscurificator.impl">com.google.code.kaptcha.impl.ShadowGimpy</prop>
<prop key="kaptcha.noise.impl">com.google.code.kaptcha.impl.NoNoise</prop>
<prop key="kaptcha.textproducer.char.space">3</prop>
</props>
</constructor-arg>
</bean>
</property>
</bean>
 <!--日誌內容源-->
<bean id="messageSource"
          class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basenames">
            <list>
                <value>properties/messages_log</value>
            </list>
        </property>
    </bean>

</beans>

然後在啟動類上加上@ImportResource(locations={"classpath:+配置檔名稱"})  註釋,

1、spring boot中,啟動專案預設的是 ip:port/url  方式去訪問的若想在port後面加上自己的路徑的話,在application。properties檔案中配置

server.servlet.context-path=/fileper-admin //這是spring boot  2.xxx的配置方式

server.context-path= /fileper-admin  //這是spring boot  1.xxx的配置方式

server.port=1188  //配置埠號的配置方式。

2、與ssm專案不同的是,spring boot預設沒有web-app,頁面預設放在resourc下templates、public包,templates下的頁面是受保護的頁面,不可以直接訪問,需要在controller中做跳轉,

@RequestMapping("/hello") public String hello(Model model, @RequestParam(value="name", required=false, defaultValue="World") String name) { model.addAttribute("name", name); return
"hello"; }

如上程式碼,會跳轉到hello.html頁面

##預設字首spring.mvc.view.prefix=/## 響應頁面預設字尾spring.mvc.view.suffix=.html

而public包裡的頁面可以通過url直接訪問。

頁面上的css、js等檔案要放到resource下新建一個static包,在public的頁面上可以直接引入。不需要加上static這個包名。