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.html頁面
##預設字首
spring.mvc.view.prefix=/
## 響應頁面預設字尾
spring.mvc.view.suffix=.html
而public包裡的頁面可以通過url直接訪問。
頁面上的css、js等檔案要放到resource下新建一個static包,在public的頁面上可以直接引入。不需要加上static這個包名。